Linux 中 /var/spool/postfix/maildrop

daxuesheng發表於2021-09-09

摘要

一臺運維主機上面沒有跑什麼特殊服務,所以沒有新增監控告警。今突然執行命令執行不了發現是因為磁碟慢了導致。排錯發現是因為目錄/var/spool/postfix/mailfdrop 過大導致。

透過了解發現因為:

由於 Linux 在執行 cron 時,會將 cron 執行指令碼中的 output 和 warning 資訊,都會以郵件
的形式傳送 cron 所有者, 而由於客戶環境中的 sendmail 和 postfix 沒有正常執行,導致郵件
傳送不成功,全部小檔案堆積在了 maildrop 目錄下面,而且沒有自動清理轉換的機制,所以長達一
年的時間,此目錄已堆積了大量的檔案。檢視 man cron 的資訊,可以知道會傳送給 cron owner.

解決之道

臨時解決當然是清空該資料夾即可

cd /var/spool/postfix/maildrop
rm -rf *

但是臨時刪除了,以後也還會出現。所以我們需要從源頭杜絕這個問題再次出現。
透過上面的介紹我們知道是因為crontab執行定時任務的時候把指令碼的一些輸出傳送給指令碼執行者。如果是我們不關心的備註型等輸出我們完全可以讓其輸出到 /dev/null 這樣就不會因為傳送失敗到導致在/var/spool/postfix/maildrop下面產出什麼檔案。

建議:

*/10 * * * * /tmp/test.sh >/dev/null 2>&1

修改之後觀察該目錄發現沒有新的檔案產生。



作者:全棧運維
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2805504/,如需轉載,請註明出處,否則將追究法律責任。

相關文章