1.编辑Crontab
执行命令crontab -e
打开crontab定时任务配置表 执行命令crontab -e 后弹出选择选项 这里选择“3”vim编译器打开 进入定时任务配置表 若选择错误可使用select-editor重新选择编辑器
使用vim定义定时任务 添加记录
*/10 * * * * bash /home/walle/accessMonitor.sh
2.编写定时任务执行脚本accessMonitor.sh内容如下
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
accessJarPath="/home/intellif/yangxuezhi/ifaas-community-thirdparty-access"
accessCleanJarPath="/home/intellif/yangxuezhi/ifaas-community-thirdparty-access-clean"
jarArr="ifaas-community-thirdparty-access.jar ifaas-community-thirdparty-access-clean.jar"
echo "****************" >> /home/walle/accessMonitor.log
curTime=`date "+%Y-%m-%d %H:%M:%S"`
for jar in ${jarArr}
do
pids=`ps -ef|grep $jar|grep -v grep|awk '{print $2}'`
if [ ! -n "$pids" ]; then
echo $curTime " start dead app: " $jar >> /home/walle/accessMonitor.log
if [ "$jar"x = "ifaas-community-thirdparty-access.jar"x ]; then
echo $curTime $accessJarPath >> /home/walle/accessMonitor.log
cd $accessJarPath
else
echo $curTime $accessCleanJarPath >> /home/walle/accessMonitor.log
cd $accessCleanJarPath
fi
nohup java -XX:+UseConcMarkSweepGC -Xmx2048m -Xms1024m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./logs/java_gc.log -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar $jar --spring.profiles.active=ifaas > /dev/null 2>&1 &
else
echo $curTime $jar "is running on port " $pids >> /home/walle/accessMonitor.log
fi
done