Linux 定时任务重启jar程序
1.编写restart.sh脚本
脚本文件位置为:/home/home/jar 下,此路径可根据具体项目放置,没有要求。
本人是以程序名为:provider-share-cloud-management9003.jar 为例子
#!/bin/bash
pid=`ps -ef | grep provider-share-cloud-management9003.jar | grep -v "grep" | awk '{print $2}'`
echo "进程ID:$pid"
kill -9 $pid
#sleep 1
nohup java -jar -Xms128m -Xmx4g /home/kfy/jar/provider-share-cloud-management9003.jar > /home/kfy/jar/share_man_9003.log 2>&1 &
newPid=`ps -ef | grep provider-share-cloud-management9003.jar | grep -v "grep" | awk '{print $2}'`
if [ $newPid ]; then
echo "新进程ID:$newPid"
else
echo "启动失败,没有获取到进程ID"
fi
记得要给restart.sh 权限
chmod 744 restart.sh
单独执行restart.sh脚本测试
./restart.sh > commandrestart.log 2>&1
2.建立crontab定时任务
编写定时任务
vi /etc/crontab
添加定时执行和输输出日志,我做的是每天0点执行restart.sh脚本,并输出日志。
0 0 * * * root /home/kfy/jar/restart.sh > /var/log/commandrestart.log 2>&1
查看执行的输出日志: