crontab执行失败问题总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab执行失败问题总结相关的知识,希望对你有一定的参考价值。

背景:

脚本手动执行可以,放到crontab任务里执行却失败。

问题及解决方法

问题1:这样的任务都无法执行
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/$(date +"%m%d-%H%M").txt
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/`date +"%m%d-%H%M"`.txt

解决方法:%前面需要加 ,即:
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/$(date +"\%m\%d-\%H\%M").txt
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/`date +"\%m\%d-\%H\%M"`.txt

问题2:修改系统时间后任务不执行

解决方法:重启crond服务

问题3:环境变量,crontab本身缺少环境变量

解决方法:脚本中使用souce或expect激活环境变量

问题4:路径问题,脚本或计划任务中携带相对路径

解决方法:将脚本和计划任务中携带相对路径改成绝对路径

问题5:脚本本身没有执行性权限

解决方法:chmod +x 赋予脚本执行权限。

以上是关于crontab执行失败问题总结的主要内容,如果未能解决你的问题,请参考以下文章

Bash 脚本手动运行,但在 crontab 上失败

crontab执行失败问题汇总,容器中执行

Bash脚本手动运行,但在crontab上失败

crontab定时执行shell脚本失败的原因

为啥 ssh 从 crontab 失败但从命令行执行时成功?

crontab不执行sh脚本 手动可以执行crontab执行失败【亲测】