cron.daily 无法与 anacron 一起运行

cron.daily 无法与 anacron 一起运行

摘要

我有类似的问题cron.daily 作业未运行,但那里的解决方案并不适用于我。

我已经设置了一个脚本,该脚本应在 期间每天运行cron.daily。我将脚本放在 中/etc/cron.daily。当计算机整夜开机时,脚本会正常执行。但是,根据我对 的理解anacron,如果我关闭计算机并重新打开它(即使在cron.daily正常运行时间之后),anacron应该会运行未在标准时间内运行的脚本。但是,出于某种原因,anacron并非每天都触发,并且它在某些日子有效,而在其他日子则无效。

细节

从社区文档来看,它anacron应该在每天启动时运行

因此,anacron 似乎在每次启动、唤醒、插入插件时以及每天早上 7:30 运行。查看相应的变更日志和软件包数据库,似乎此设置直接来自 Debian,并且至少自 2009 年以来从未更改过。

但事实并非如此。

我通过在计划时间anacron(早上 7:30)之后打开笔记本电脑进行测试,但它不起作用。起初,我以为是跳过了几天,但我不知道在哪里搜索该配置,因为我没有更改它的行为。

如果您需要任何日志请告诉我,我可以提供。

日志

/etc/log/syslog

$ cat /var/log/syslog | grep cron
Mar 10 09:40:36 computer anacron[798]: Job `cron.daily' terminated
Mar 10 09:40:36 computer anacron[798]: Normal exit (1 job run)
Mar 10 10:17:01 computer CRON[26842]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 11:17:01 computer CRON[27296]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 12:17:01 computer CRON[28337]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 13:14:01 computer CRON[28761]: (root) CMD (   test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond)
Mar 10 13:17:02 computer CRON[28779]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 14:00:48 computer systemd[1]: Started Run anacron jobs at resume.
Mar 10 14:17:01 computer CRON[30881]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 15:17:01 computer CRON[31557]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 17:19:19 computer systemd[1]: Started Run anacron jobs at resume.
Mar 10 18:17:01 computer CRON[2100]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 19:17:01 computer CRON[2745]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 10 20:17:01 computer CRON[3475]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 09:33:19 computer cron[918]: (CRON) INFO (pidfile fd = 3)
Mar 13 09:33:19 computer cron[918]: (CRON) INFO (Running @reboot jobs)
Mar 13 10:17:01 computer CRON[9045]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 11:17:01 computer CRON[13534]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 12:17:01 computer CRON[20925]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 13:14:01 computer CRON[21354]: (root) CMD (   test -x /etc/cron.daily/popularity-contest && /etc/cron.daily/popularity-contest --crond)
Mar 13 13:17:01 computer CRON[21377]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 14:17:01 computer CRON[22770]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Mar 13 15:17:01 computer CRON[24406]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

系统启动后最初几个小时的非过滤日志10/0313/03

答案1

附录:我可能不得不承认一些错误。看来,即使删除了不要在使用电池时执行的命令 cron.daily,这台笔记本电脑仍然无法可靠地执行。搜索恢复。


我注意到 anacron 在我的好笔记本电脑上无法运行日常作业,但在两台旧笔记本电脑上却运行可靠。经过几个月的摸索,我偶然发现了答案。这仅适用于笔记本电脑。

/etc/cron.daily 中有一个名为“app-compat”的文件。该文件末尾有以下几行:

# ensure we don't do this on battery  
check_power || exit 0

我注释掉了该check_power行以允许 cron.daily 在使用电池时运行。

这台较新的笔记本电脑电池性能良好,我几乎从不插着充电器使用它。另外两台旧电脑总是插着充电器,因为它们的电池状况不佳。因此 cron.daily 在旧电脑上运行良好,但在新电脑上运行不良。

相关内容