在linux下使用sendmail發郵件會發現在var/spool/clientmqueue/目錄下產生的大量文件了,這如果郵件發得多空間都得占滿了,下面我們來介紹刪除這些文件的方法.
如何刪除sendmail 在var/spool/clientmqueue/目錄下產生的大量文件
故障現象:今天早上一過來,運維同學就告訴我,TW_LDJ項目機器的/var分區已經使用超過85%.
原因分析:為什么這個目錄會這么大呢?這要從/var/spool/clientmqueue/這個目錄的作用談起。當你使用簡單的sendmail發郵件的時候, 或者系統默認要發一些郵件(比如cron發的郵件(的時候,首先會把郵件拷貝到這個目錄里,然后等待MTA(mail transfer agent) 來處理,MTA做的事情通常是把這個目錄中的郵件弄到/var/spool/mqueue里,然后再發送到真正的目的地,出現/var/spool /clientmqueue/非常大的情況通常因為沒有合適的MTA發送郵件,就都積累在這里了,假如這里的郵件并不是你需要的,比如是系統默認發的每分 鐘跑一次的什么什么cron的信,你可以簡單的刪掉他們.
解決辦法:
1、將crontab里面的命令后面加上> /dev/null 2>&1
2、清除/var/spool/clientmqueue/目錄下的文件.
- # cd /var/spool/clientmqueue
- # rm -rf * 或 ls | xargs rm –f --Vevb.com
如果文件太多的話,這兩條命令都有可能出現參數太多的錯誤提示,可以采用下面的方法:
# find /var/spool/clientmqueue | xargs rm –f //這樣的缺點是非常占系統資源
# rm –rf /var/spool/clientmqueue //刪除完之后,再手動創建一個,并設置好屬主及權限.
注意事項:我們在刪除這個目錄下的文件前,最好應先將sendmail停掉,否則,直接刪除可能空間不能直接釋放掉,需要再卸載掉/var目錄對應的分區,這樣就會非常麻煩了.
新聞熱點
疑難解答