shell脚本放到crontab里定时执行
发布时间:2020-12-15 16:17:50 所属栏目:安全 来源:网络整理
导读:需求需要定时检查zookeeper进程和mq进程,当进程不存在时去需要自动启动,把检查进程的脚本写好后,添加到crontab中 设置定时多久执行。 检测zookeeper进程脚本 check_zk.sh #!/bin/sh#echo `date`source /etc/profilePID=`ps aux | grep QuorumPeerMain | g
需求需要定时检查zookeeper进程和mq进程,当进程不存在时去需要自动启动,把检查进程的脚本写好后,添加到crontab中 设置定时多久执行。
检测zookeeper进程脚本 check_zk.sh #!/bin/sh #echo `date` source /etc/profile PID=`ps aux | grep QuorumPeerMain | grep -v "grep" |wc -l` #pid=`ps aux | grep QuorumPeerMain | grep -v "grep"` echo $PID while [ $PID -eq 0 ]; do echo `date` echo '开始启动zk脚本' /home/ekanet/esb/zookeeper-3.4.6/bin/zkServer.sh start & sleep 1 exit 0 done 检测mq进程脚本 check_mq.sh #!/bin/sh #echo `date` source /etc/profile PID=`ps aux | grep activemq.jar | grep -v "grep" |wc -l` #pid=`ps aux | grep activemq.jar | grep -v "grep"` echo $PID while [ $PID -eq 0 ]; do echo `date` echo '开始启动mq脚本' /home/ekanet/esb/apache-activemq-5.13.4/bin/activemq start & sleep 1 exit 0 done
编辑crontab 使用命令 crontab -e
#每隔1分钟检测一次 */1 * * * * /home/ekanet/esb/scripts/check_zk.sh >> /home/ekanet/esb/scripts/zklog.log */1 * * * * /home/ekanet/esb/scripts/check_mq.sh >> /home/ekanet/esb/scripts/mqlog.log 在实际使用中碰到直接执行脚本check_zk.sh能运行,但是放置到crontab中执行时并不能把zk服务启动起来。解决方法
有些shell脚本正常执行没问题,但放到crontab里就执行不成功,原因是因为crontab执行脚本的时候不会读取用户的环境变量等配置
2.或者source下/etc/profile (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |