您的位置:首页 > 其它

crontab根据定时检测程序状态,重启程序

2017-03-08 10:00 260 查看
*/15 * * * * cd /home/zhengrx/bin && ./keep_alive.sh

如果改成
*/15 * * * * sh /home/zhengrx/bin/keep_alive.sh

df后,keep_alive.sh 中
nohup /home/zhengrx/bin/gpipe_realtime.sh >> /home/zhengrx/logs/gpipe_realtime.log 2>&1 &

执行不成功,具体原因还不清楚,似乎是因为通过crontab启动的脚本环境变量有点不一样。

####crontab

[root@localhost bin]# crontab -l

#every 15min monite the progrom

*/15 * * * * cd /home/zhengrx/bin && ./keep_alive.sh

####检测脚本

[root@localhost bin]# cat keep_alive.sh 

#!/bin/sh

program=gpipe_realtime.sh

a=`ps axu | grep $program  | grep -v "grep"| wc -l`

b=1

if [ $a -lt $b ]

then

   date >> /home/zhengrx/logs/keep_alive.log

   echo -e "program stop.\n------------------------------------" >> /home/zhengrx/logs/keep_alive.log

   nohup /home/zhengrx/bin/gpipe_realtime.sh >> /home/zhengrx/logs/gpipe_realtime.log 2>&1 &

   echo -e "program restart.\n####################################" >> /home/zhengrx/logs/keep_alive.log

else

   date >> /home/zhengrx/logs/keep_alive.log

   echo -e "program is running.\n------------------------------------" >> /home/zhengrx/logs/keep_alive.log

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: