为什么cron.weekly不运行?


8

当我注意到我在Debian6服务器上的/etc/cron.weekly中放置的备份脚本没有执行时,我在其中放置了这个小脚本,以查看是否每周执行一次cronjob:

#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log

保存为

-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh

今天检查时,应该创建的日志文件不存在。
crontab如下所示(据我所知,它应该是默认的debian6 crontab):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 1   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

在任何日志文件中,每周cronjob出现的所有内容都是这一行:

Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

旁注:cron.daily由于logrotate有效,因此似乎有效。cron.hourly没有脚本。

关于可能出问题的任何想法?


检查root的邮件以获取输出和潜在的错误消息。可以发现/var/spool/mail/root,如果你不已经/etc/aliases成立前进根的邮件而它可以读取。
拉达达达

@Ladadadada好主意!不幸的是,那里根本没有任何关系cron.weekly
Cobra_Fast 2012年

Answers:


18

cron.weekly脚本开始通过run-parts其将跳过扩展名的文件。重命名runcheck.shruncheck它应该做


4
我敢打赌,这种事情只会让你被抓住。
user9517

1

comm1 || comm2 || comm3 || comm4

将执行直到返回第一个retval = 0(从左到右)。其余的链式命令由解释器优化,根本不执行

如果test -x /usr/sbin/anacron返回零作为retval,将不执行其他命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.