Ubuntu

為什麼 anacron 不會執行?

  • April 13, 2021

我有一個安裝了 anacron 的 Ubuntu 系統。但是我很確定它沒有執行。它沒有執行 /etc/cron.daily 中的命令來輪換 syslog 文件(我使用的是 sysklog,它有自己的輪換日誌方法,而不是使用 logrotate)。上次輪換日誌是在 2009 年 10 月。/var/spool/anacron/cron.daily存在且內容為20091015. AFAIR 那時我們停電了,一切都重新啟動了。

如何調試 anacron?我怎樣才能看到它為什麼沒有執行?我的第一直覺是尋找/var/log/anacron,但那不存在。如何修復它以使其再次執行?

請看以下內容:

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

我在一個系統上的最後一個條目是 2008 年 11 月 4 日。

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

對我來說,參賽作品從 12 月 28 日到 1 月 4 日。

cat /etc/crontab

您應該會在每日、每周和每月看到類似的條目:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

這應該顯示一堆文件:

ls -l /etc/cron.{daily,weekly,monthly}

/etc/cron.daily我有 logrotate 和 sysklogd。

如果你這樣做:

ps auxww | grep [c]ron

您應該看到cron守護程序正在執行。

如果你這樣做:

cat /etc/cron.daily/sysklogd

您應該看到幾行以|| exit 0- 檢查以確保文件存在,並且對於那些test -x文件是可執行的。其中一些不適合我,因為我使用的是 logrotate。

檢查 syslogd 是否正在執行:

ps -C syslogd

查看 savelog 是否存在並且是否可執行:

ls -l $(type -p savelog)

這就是我目前能想到的。

引用自:https://serverfault.com/questions/99521