Cron

Pimp rsyslogd 以減少 i/o(cron、pam、…)和更少的日誌記錄

  • February 26, 2017

在我的覆盆子上,我真的不需要 crons 和 pam 日誌記錄,我希望減少 i/o 以延長 SD 卡的使用壽命。

我已經用第二行刪除了 cron cron.none,我目前正在測試authpriv.none

auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none,cron.none             -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

基本上,我只想記錄致命事件、硬體問題、核心/dmesg 和登錄失敗

我還能改進什麼?

這不是您要尋找的答案,因為我將嘗試勸阻您(這實際上是唯一合理的答案)。

在我的覆盆子上,我真的不需要 crons 和 pam 日誌記錄,我希望減少 i/o 以延長 SD 卡的使用壽命。

如果您認為 cron 確實在進行過多的日誌記錄,那麼您應該考慮 cron 在做什麼以及頻率,並對其進行調整。重點是,如果您不太關心它在做什麼,那麼它為什麼要這樣做?

WRT SD 卡,日誌記錄不夠重要,無需擔心。如:完全無關緊要,你在浪費時間思考它。SD卡使用磨損均衡來幫助保護自己:它們不會受到碎片的影響(即碎片與性能無關),並且當您寫入磁碟時,數據會寫入卡中使用最少的部分,無論何時那是。這超越了分區邊界,因此如果您在 16GB 卡上有一個 2GB 分區,則該分區不限於 2GB 寬的物理地址塊:它是一個動態的 2GB,其物理地址將是一個不連續的、不斷變化的列表涵蓋整張卡片。

如果您的系統每天寫入 1 MB 的日誌(您可以通過將所有內容的副本發送到一個文件來檢查這一點,通常/var/log/syslog是這樣),並且您有一張 4 GB 的卡,那麼這樣一個週期需要 4000 天一次寫入整個卡。SD 卡的實際壽命可能高達100,000 次寫入周期

$$ but see comments $$. 所以所有的記錄都會在 4000 * 100000 / 365 = ~ 100 萬年

您現在明白為什麼將日誌記錄減少 25%、50% 甚至 99% 將完全無關緊要嗎?即使該卡在寫入周期方面的使用壽命非常糟糕——比如 100 次——你仍然會在幾個世紀的時間內退出它。有關此原理的更深入測試展示,請參見此處

基本上,我只想記錄致命事件、硬體問題、核心/dmesg 和登錄失敗

除非您啟用“調試”級別的日誌記錄,否則到目前為止,寫入日誌最多的事情是發生真正錯誤的情況,並且通常除非您完全禁用日誌記錄,否則這些內容將作為高優先級進入。例如,我懷疑在正常情況下,您的 pi 使用預設的 raspbian 配置每天寫入 1 MB 的日誌,即使它是 24/7 的。讓我們把它四捨五入。現在假設一個有缺陷的核心模組每秒 50 次向無人值守系統上的 syslog 寫入相同的 100 字節“緊急”緊急消息,持續一周:100 * 50 * 60 * 60 * 24 * 7 = ~ 30 MB。考慮到上述卡的生命週期,以及您可能想要獲取消息的事實。

順便說一句,記錄這種混亂是非常不尋常的。日誌記錄很好。日誌是你的朋友。如果您想修改 rsyslog 配置,您的時間最好花在添加更多而不是更少上。

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