为什么 cron.weekly 不运行?

为什么 cron.weekly 不运行?

当我注意到我放置在 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其中没有脚本。

对于可能出现的问题您有什么想法吗?

答案1

脚本cron.weekly由 启动run-parts,跳过所有扩展名为的文件。重命名runcheck.shruncheck,它应该可以

答案2

comm1 || comm2 || comm3 || comm4

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

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

相关内容