crontab不能正常执行的五种原因

centos 安装crontab:

yum install crontabs

安装后不执行:
1 crond服务未启动

crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止。如果停止了就无法执行任何定时任务了,解决的方法是打开它:

crond

service crond start
2 权限问题

比如:脚本没有x执行权限,解决方法:

增加执行权限,或者用bash abc.sh的方法执行

3 路径问题

有的命令在shell中执行正常,但是在crontab执行却总是失败。有可能是因为crontab使用的sh未正确识别路径,比如:以root身份登录shell后执行一个/root/test.sh,只要执行

./test.sh

就可以了。但是在crontab中,就会找不到这个脚本,比如写完整:

/root/test.sh

4 时差问题

因为服务器与客户端时差问题,所以crontab的时间以服务器时间为准。

5 变量问题

有时候命令中含有变量,但crontab执行时却没有,也会造成执行失败。

6 莫名其妙的问题

我最近刚发现一种情况,crontab不执行,crontab -l可以看到计划列表,一切正常,但是就是不执行。

crontab -e后不做任何修改直接保存,提示:crontab: installing new crontab,然后计划任务恢复正常。

文章来源:https://www.yubosun.com/article/JMrAUVC5.html

作者: 二皮

Hackers please go away