【发布时间】:2018-10-17 11:52:38
【问题描述】:
我创建了一个 shell 脚本来检查一个 tomcat 实例的状态。如果实例没有启动,则启动它:
if [ `ps -ef | grep 'travelco' | grep -v grep | wc -l` -eq 0 ];then
sudo /home/q/tools/bin/restart_tomcat.sh /home/www/travelco/
else
echo 'travelco started'
fi
然后我测试了脚本,它运行良好。但是在我将它添加为 crond 作业之后,该脚本没有按预期工作。
我使用crontab -e,并添加了
*/1 * * * * /home/yuliang.jin/travelcoCheck.sh
之后,即使在 crontab 日志中看到执行的脚本(sudo tail -f /var/log/cron),tomcat 实例也没有启动。为什么?
【问题讨论】:
-
你不需要给 /1 。默认情况下,如果您使用 * ,cron 将每分钟运行一次。所以使用
* * * * * /home/yuliang.jin/travelcoCheck.sh -
谢谢,但为什么脚本没有按预期执行?我的意思是实例已启动。但是当我执行“/home/yuliang.jin/travelcoCheck.sh”时,就可以启动了。@jQuery.PHP.Magento.com
-
你的意思是你直接在Shell里敲Sh文件然后回车,它就运行了吗?
-
你说
the tomcat instance was not started.,那就开始吧。