Linux

logrotate 如何準確處理“日常”?

  • March 3, 2021

從我係統上的時間戳來看,當 logrotate 由 cron 執行時,logrotate 會進行每日日誌輪換。但是,如果我早於此執行它,它不會旋轉文件。logrotate 如何知道是否應該輪換它們,它是保留歷史記錄還是使用時間戳?

我相信這是狀態文件的內容,我的情況是/var/lib/logrotate.status. 每個文件有一行,即上次輪換的日期;如果您在給定文件到期輪換的日期執行 logrotate,給定目前日期和文件中的日期之間的天數(1 表示每天,7 表示每周等),文件將被輪換。

logrotate 似乎並不關心它在一天中的什麼時間執行;即使它通常在 2355 執行,如果您改為在 0130 執行它,它仍然會輪換標記為每天和昨天最後完成的文件;但是這樣做會將今天的日期放入狀態文件(針對任何旋轉文件),因此在 2355 進行第二次執行將無濟於事。

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