Cron

Logrotate 場景 - 混合和匹配 cron.daily 和 daily 指令

  • January 7, 2022

文件:

/etc/cron.daily/logrotate

有以下聲明:

/usr/sbin/logrotate /etc/logrotate.conf

logrotate.conf文件具有weekly內部定義的指令。

現在我有兩個旋轉配置文件abcdef里面/etc/logrotate.d的 . abc裡面有指令daily,據我所知,它將覆蓋. 並且沒有這樣的指令,因此它將從. 現在我懷疑它會每天執行,並將檢查文件內部,而該 文件又包含指令。因此,總而言之,將通過和。我的問題是 和 的實際對數旋轉頻率是多少?他們是每天輪換還是每天輪換一次,每週輪換一次?weekly``/etc/logrotate.conf``def``weekly``/etc/logrotate.conf``/etc/cron.daily/logrotate``/etc/logrotate.conf``include /etc/logrotate.d``/etc/cron.daily/logrotate``abc``def``abc``def

正如我試圖在旋轉日誌時首選的方法是什麼 - 使用 daily 指令或將文件路徑放在 cron.daily 中解釋的那樣?,/etc/cron.daily/logrotate就旋轉頻率而言無關緊要,除非您嘗試比每天更頻繁地旋轉。

要確定給定配置要做什麼,您可以問logrotate自己:

/usr/sbin/logrotate -d /etc/logrotate.conf

實際上不會旋轉任何東西,但它會告訴你它考慮的一切以及它會做的一切。特別是,它將告訴您每個模式和文件的旋轉頻率是多少。

大括號內的任何daily,weeklymonthly指令僅適用於該模式。所以如果abc

/path/to/file.log {
   daily
   ...
}

它將導致匹配的文件每天輪換,而不管/etc/logrotate.conf(如果有的話)中的全域指令。它不會影響任何其他文件。

如果def沒有頻率指令,它將繼承全域設置。

引用自:https://unix.stackexchange.com/questions/685441