最近常常碰到关于crontab不能执行的,初步总结了有如下几个缘由: 第一,脚本的缘由:大多数状况下,咱们要相信科学,相信计算机,不是有 鬼,就是咱们的脚本的问题,这种问题致使crontab不能执行的几率占到70%以上。由于程序执行到某一步致使crontab终止执行,我就碰到一次在 迁移代码的时候将数据库连错了。致使没法访问而死在那里了。 第二,执行环境问题,当咱们碰到第一状况下,通常均可以经过手动执行程序将问题扼杀在 摇篮里,通常状况下高手是不该该犯第一种错误的。问题是当咱们手动执行成功而crontab不能执行的时候,笔者碰到一次就是执行环境的问题,例如相关路 径的设置问题。解决方案:在代码最前面执行 source /home/user/.bash_profile 第三,系统时间不正确。这种问题最好理解,也是比较常见和隐蔽的问题,解决方案:date -s ******** 第四,就是咱们的脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。 第五,crontab 守护进程死掉了。这种状况是极少发生的,但也不排除,当咱们实在是找不到其余缘由的时候能够用。解决方案:重启该进程。 另外,介绍你们一个关于如何查看crontab最修修改时间的方法: 进入目录/var/spool/cron/里面会有N个用户名为文件名的文件,只要创建过crontab的用户在这里都会有以该用户名为文件名的文件,该文件的最后修改时间就是该用户的的crontab的最后修改时间。just do it