crontab 没有起作用的几点可能原因

Posted by Harid五月 - 17 - 2011 Leave comments   499 views 

Linux 系统下,如果已经有了Crond的作业,但是发现它并没有执行的话,可能有下面几个原因:

1、crond服务没有启动;

2、crontab没有按要求添加;

3、crontab的使用者帐号受到限制;

4、脚本或者命令没有可执行权限;

5、服务器时间与本地时间的不同步;

一、crond服务没有启动;

对于第一个可能的原因,是crond没有执行的最可能的原因,我就遇到了这样的问题,之前添加了crontab后,我也没有检测是否开启了这项服务、列表里的作业是否可以正常执行,今天检查了一下备份的目录,发现并没有相关文件才知道它并没有执行。

所以在修改crontab的时候,最好是顺道执行一下这个开启服务的命令:

service crond start

二、crontab添加出错;

仔细检查是否是执行“ crontab -e”的时候添加语句写错了?crontab的每个作业单独占独占一行,每个作业有六个项目:

 

 

意义 分钟 小时 日期 月份 星期 执行指令
范围 0-59 0-23 1-31 1-12 0-7 …………

 

 

如:

30 23 * * 6 sh /roo/test.sh

就是每个周六的23点30分执行“ sh /root/test.sh”这条命令。值得注意的是其中“星期”项目里的0与7均表示周日,并且对星期项目进行设定后就不要再设定具体的月份项目与日期项目。还有几个特殊字符:

 

 

特殊字符 意义
* 通配符,表示“任何”,如上面的例子中的3个星号,即表示“任何月份任何日期都……”
逗号代表分隔时段。如“ 0 3,6 * * * command”,表示3点与6点各执行一次
- 减号代表一个时间范围,如“ 20 8-12 * * * command”,表示8点至12点内的每个小时的第20分钟的时候均执行一次!
/n n 代表数字,表示“ 每隔 n 个单位的间隔”,例如每五分钟进行一次: */5 * * * * command

 

 

例子:

1、每个周六的凌晨3点整执行httpd重启:

0 3 * * 6 service httpd restart

2、5月15日23点59分发送邮件给Harid,内容读自/root/content.txt:

59 23 15 5 * mail harid </root/content.txt

3、每天的6点至18点每隔15分钟执行一次脚本test.sh:

*/15 6-18 * * * /root/test.sh

如果crond没有执行,由仔细检查是否写对,在最后一个项目里,如果需要某个文件如脚本,由一定要是文件的绝对路径,这样可以大大减少出错的机率。

三、crontab的使用者帐号受到限制;

检查/etc目录下是否有cron.allow与cron.deny文件。如果存在cron.allow文件 ,则确保创建crond服务的用户在该文件里,在该文件里的用户才可以执行类似作业。最好是不要存在这个文件!然后确保自己的帐号不在cron.deny文件里。

四、脚本或者命令没有可执行权限;

确保在第六个项目里执行的命令自己有执行权限,如果是脚本的话,则看该脚本是否有可执行权限,如果没有,则对其加权限:

chmod +x 脚本的路径

或者是用(bash/sh):

sh 脚本路径

五、服务器时间与本地时间的不同步;

可能因为服务器与本地时间的不同步导致我们在检查是否作业执行了的时候其实作业尚未到其执行时间。

   声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
   原创文章转载请注明:转自《crontab 没有起作用的几点可能原因

分享本文: 腾讯微博 QQ空间 人人网 百度空间 开心网 新浪微博 Google Reader 豆瓣
Comments(11) Leave comments
  1. Gravatar
    abx Google Chrome Google Chrome 13.0.761.0 Windows Windows XP

    介绍点Linux的游戏看看么

    • Gravatar Harid  @  五月 19th, 2011 at 00:14 replied.

      @abx, 这个我真不了解啊,Win上我都不玩游戏,更别说在Linux下了。

      • Gravatar abx  @  五月 19th, 2011 at 00:24 replied.  | #2

        @Harid, 鄙视你 :roll:

        • Gravatar Harid  @  五月 19th, 2011 at 21:20 replied.

          @abx, :grin: ,我接受你的鄙视,其实也玩啦,只不过都是小游戏。

  2. Gravatar
    DH Google Chrome Google Chrome 8.0.552.237 Windows Windows 7

    测试了一下,回复好像没有ajax功能了。

    • Gravatar Harid  @  五月 18th, 2011 at 12:48 replied.

      @DH, 哦?有啊,不过没有再编辑功能。

  3. Gravatar
    DH Google Chrome Google Chrome 8.0.552.237 Windows Windows 7

    脚本或者命令没有可执行权限;以前我都是 chmod 777 * 这个很爽,呵呵

    • Gravatar Harid  @  五月 18th, 2011 at 12:50 replied.

      @DH, 只需要让它可执行就行的话还是不要给777啦。

      • Gravatar DH  @  五月 18th, 2011 at 12:53 replied.  | #5

        @Harid, 有的时候省的麻烦

        • Gravatar Harid  @  五月 19th, 2011 at 00:15 replied.

          @DH, 那倒是!

3 + 8 =  (required)
 疑问 鼓掌 难过 呲牙 强 微笑 快哭了 坏笑 汗 奋斗 撇嘴 OK 偷笑 委屈 尴尬 傲慢 握手 玫瑰 胜利 大哭 抱拳
启用云输入法:      

NOTICE1: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!

NOTICE2: 请申请gravatar头像(http://en.gravatar.com),木有头像的会显示为“小怪物”头像,将难以通过审核!

NOTICE3: 如果您能消除一下评论框旁边的邻居的寂寞的话,Harid将不胜感激,你懂的!^_^