crontab实现定时执行脚本重启服务
GitHub: link. 欢迎star
一、crontab -l 查看定时任务
二、编写shell脚本
1.vim stop.sh
#!/bin/sh
ps -ef | grep stock-market-macd-calculate-60min-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
2. vim start.sh
#!/bin/sh
cd /data/stock-market-macd-calculate-60min/
./stop.sh
nohup java -jar -XX:+UseConcMarkSweepGC stock-market-macd-calculate-60min-0.0.1-SNAPSHOT.jar >nohup.out 2>&1 &
三、chmod +x 给脚本赋权限
1.chmod +x stop.sh
2.chmod +x start.sh
3.ll
四、crontab -e 编辑添加定时任务
每天下午四点零分执行脚本
0 16 * * * /data/stock-market-macd-calculate-60min/start.sh
五、重启定时任务服务
1.停止定时任务服务,执行:service crond stop
2.查看定时任务服务状态,执行:service crond status
3.启动定时任务服务,执行:service crond start
4.查看定时任务服务状态,执行:service crond status
附加:jar重启脚本
#!/bin/bash
date=`date "+%Y-%m-%d %H:%M:%S"`
pid=`ps -ef | grep "v1.5-stock-technical-analysis-indicators.jar" | grep -v "grep" | awk '{print $2}'`
if [ -z "$pid" ]; then
echo "$date pid does not exist!"
else
echo "$date pid:$pid is running!"
kill -9 $pid
> nohup.out
fi
nohup java -jar -XX:+UseConcMarkSweepGC v1.5-stock-technical-analysis-indicators.jar > nohup.out &
pidMax=`sysctl kernel.pid_max`
pidNum=`ps -eLf|wc -l`
echo "$pidMax pidsNum:$pidNum"
1.执行:chmod + restart-v1.5-stock-technical-analysis-indicators.sh
2.执行:./restart-v1.5-stock-technical-analysis-indicators.sh >sh.out
GitHub: link. 欢迎star