码迷,mamicode.com
首页 > 其他好文 > 详细

为什么crontab任务创建了没执行?

时间:2014-07-22 08:10:36      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   os   文件   

上周在公司写了一个crontab任务,发现没有执行。我仔细查看了sh脚本,里面用到的python命令以及文件,我都采用了全路径。我直接在命令行下跑这个sh脚本,是能正常使用的。

为什么会这样呢?

同事提醒我,可能是权限问题,于是我对脚本涉及到的文件都chmod 777一下,然后把crontab任务的时间改成下一分钟...结果,脚本还是没有起来。

后面通过google了解到:

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。引用于:http://www.cnblogs.com/cosiray/archive/2012/03/09/2387361.html

这告诉我,测试crontab时,不应该把跑脚本的时间设置成离现在1分钟以内。也就是说,现在如果是14:24分,你设置cronbtab14:25跑,编辑完crontab后,cron还没有来得更新我们刚才编辑文件,也就导致任务没有执行了。


我把任务的启动时间重新设置后,crontab任务就正常启动了。

总结一下,crontab任务没有启动的可能原因:

  • crontab的环境变量和控制台是不同的,比如控制台能直接找到python命令,而到了crontab下,要写python安装的全路径。

  • 保证脚本文件在crontab下有权限运行。

  • 测试crontab时,可能由于启动时间设置不正确,而导致crontab错过执行的时机。建议测试时,把启动的时间设置成2分钟后。

为什么crontab任务创建了没执行?,布布扣,bubuko.com

为什么crontab任务创建了没执行?

标签:style   blog   http   使用   os   文件   

原文地址:http://my.oschina.net/u/1453800/blog/287763

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!