天天看點

關于inodes占用100%的問題及解決方法續集如何解決clientmqueue目錄檔案太多

今天nagios報警,一台mfschunkserver伺服器的disk滿了,于是我就登入到伺服器df檢視了下一看根90%,使用du -sh * 或 du -sh /* 檢視目錄的大小(也可以用我上次解決inodes100%時檢視檔案過多的指令,個人建議用那個),最終查找到占用空間大的目錄/var/spool/clientmqueue

<a href="http://s3.51cto.com/wyfs02/M02/23/D6/wKioL1NE6gSDo3Y0AAGbpK1sFKY827.jpg" target="_blank"></a>

然後我就想/var/spool/clientmqueue這個目錄幹嘛用的,糾結了半天,谷歌了下,原來/var/spool/clientmqueue是如果系統中有使用者開啟了cron,而cron中執行的程式有輸出内容,輸出内容會以郵件形式發給cron的使用者,而sendmail沒有啟動是以就産生了這些檔案。

伺服器上确實有cron定時執行數十個腳本,而且都沒有設定輸出定向,日積月累的檔案都被儲存在/var/spool/clientmqueue目錄下面樂 = =.

解決方法:在cron的自動執行語句後加上&gt; /dev/null 2&gt;&amp;1

例:

4 3 * * * /usr/bin/w &gt; /dev/null 2&gt;&amp;1

這樣就OK拉,就不會寫到那個目錄下了....

在這裡說一點,/var/spool/clientmqueue目錄檔案太多,跟上次解決inodes100%時那個檔案過大似的,rm -rf *時候會提示:

“-bash: /bin/rm: Argument list too long“..

意思是參數太長,rm 幹不了。

還是用上次那個指令ls | xargs -n 10 rm -f這個指令将/var/spool/clientmqueue目錄下所有檔案删除。這也是需要很長時間的這個指令輸下去之後沒有反應,有人會奇怪,咦,我這個到底是在删除呢還是沒有呢。

<a href="http://s3.51cto.com/wyfs02/M01/23/D7/wKiom1NE7YCA1iPpAABZ5m-6N6Y822.jpg" target="_blank"></a>

大家可以檢視下他程序是否存在,這裡是存在的。那就是正在删除。

[root@nc-chunk-1a-h ~]# ps -ef | grep ls

root      3734  3506  1 14:15 pts/4    00:00:06 ls --color=tty

root      6182  3764  0 14:20 pts/5    00:00:00 grep ls

大概進行了半個小時吧,這個清理比上次inodes清理的快。

<a href="http://s3.51cto.com/wyfs02/M00/23/D7/wKioL1NE7BjjpnGwAAGOUWPwvPQ246.jpg" target="_blank"></a>

OK。清理完畢~

關于inodes占用100%的問題及解決方法位址http://sangh.blog.51cto.com/6892345/1359849

本文轉自Devin 51CTO部落格,原文連結:http://blog.51cto.com/devingeng/1392798