最近,我从用户特定的 anacrontab(使用 -t )切换到全局 anacrontab。现在,anacron 每天都会向我发送一条消息(电子邮件给 root),说它无法打开 cron.daily 文件夹:
Subject: Anacron job 'cron.daily' on myComputer
Message: run-parts: failed to open directory /etc/cron.daily: No such file or directory
rsnapshot 作业正常运行,但 cron 相关作业却无法运行。这是我的 anacrontab/etc/anacrontab
# /etc/anacrontab: configuration file for anacron
#
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
# days to wait - delay in minutes - job-name - command to execute
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts--report /etc/cron.monthly
1 5 rsnapshot.day /usr/local/bin/doBackup.sh daily
7 30 rsnapshot.week /usr/local/bin/doBackup.sh weekly
ls -rtl /etc | grep cron
这里是查看文件夹权限的输出:
-rw-r--r-- 1 root root 722 Jul 3 2012 crontab
drwxr-xr-x 2 root root 4096 Sep 11 2015 cron.hourly
drwxr-xr-x 2 root root 4096 Sep 11 2015 cron.monthly
drwxr-xr-x 2 root root 4096 Sep 11 2015 cron.weekly
drwxr-xr-x 2 root root 4096 Jan 25 16:04 cron.daily
-rw-r--r-- 1 root root 858 Mar 21 10:49 anacrontab
drwxr-xr-x 2 root root 4096 Mar 21 10:57 cron.d
drwxr-xr-x 10 root root 4096 Mar 21 10:57 cron-apt
(声誉不足,无法创建标签‘anacron’)
編輯1:
附加信息。如果我复制似乎产生消息的行并以 root 身份执行它,则没有问题(我添加了 -v 来查看一些输出,但是没有它也可以正常工作):
root@myComputer:/etc# run-parts -v /etc/cron.daily
run-parts: executing /etc/cron.daily/0anacron
run-parts: executing /etc/cron.daily/apt
run-parts: executing /etc/cron.daily/aptitude
run-parts: executing /etc/cron.daily/bsdmainutils
run-parts: executing /etc/cron.daily/cracklib-runtime
run-parts: executing /etc/cron.daily/dpkg
run-parts: executing /etc/cron.daily/exim4-base
run-parts: executing /etc/cron.daily/logrotate
run-parts: executing /etc/cron.daily/man-db
run-parts: executing /etc/cron.daily/mlocate
run-parts: executing /etc/cron.daily/passwd
run-parts: executing /etc/cron.daily/popularity-contest
root@myComputer:/etc#
編輯2:
最后我知道了导致 anacron 出现这种问题的原因。这与 anacrontab 中的行尾有关:
sed -n l anacrontab
# /etc/anacrontab: configuration file for anacron\r$
...
健康的 anacrontab 不应该\r
在行尾有(这些是回车符)..实际上我不知道它们是怎么到那里的。
所以这是 anacron 中的一个错误。要么 anacron 应该完全拒绝执行这种格式错误的文件,要么它应该只吃掉回车符并按预期工作。我向 debian 错误跟踪器提交了该错误。可以在此处检查错误的当前状态: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=821081
答案1
您是否尝试过删除除 cron.daily 之外的所有作业,并使用“anacron -T”进行测试?据我所知,您的rsnapshot.day和每日计划作业同时运行且延迟相同。这可能会导致访问权限冲突。