拽拽
管理员组

linux下crontab 任务不执行/不起作用的可能原因总结

昨天遇到了crontab不能执行的问题,现总结如下:

现象:
    a.shell脚本已经有执行权限(chmod 777 xxx.sh)
    b.在#!/bin/sh的下行已经加上了source ~/.bash_profile
    c.已经确认 crond 服务正常运行(service crond status)
    d.crontab 文件正确无误
    e.脚本可以手动执行但不能自动执行
原因(个人):
    crontab没有给root赋权限,执行如下命令:

    crontab -u root /var/spool/cron/root
另外,查看crontab操作日志

cat /var/log/cron


也可以把输出定向到文件中,以便查看原因。

例如:我的tomcat down掉后自动检测并启动的脚本,发现未启动原因是JAVA_HOME未指定,但是 echo $JAVA_HOME 确实存在,并且脚本手动执行能够成功!

            我想可能是系统执行时找不到JAVA_HOME,最后在 catalina.sh 中加入 JAVA_HOME,脚本自动执行成功!

1 16 * * * bash /usr/local/moniter.sh >>/usr/local/cron.log


#1楼
发帖时间:2017-2-17   |   查看数:0   |   回复数:0
游客组