天天看點

/var/spool/clientmqueue占用空間滿

  今天發現一個測試資料庫 / 目錄被占用 100% , 一些指令不能執行 , 開始查找是哪些檔案導緻占用如此高 。

[root@rmadbbk clientmqueue]# cd /

[root@rmadbbk /]# ls

bin data etc initrd lost+found mnt proc sbin tftpboot u01 var

boot dev home lib misc opt root temp tmp usr

[root@rmadbbk /]# 

[root@rmadbbk /]# du -sh /

檢視到 /var/ 目錄下檔案很大,1.6G左右,可能有問題,進一步CD到它的目錄,然後 du -sh / 檢視 , 發現 /var/spool/clientmqueue下産生很多檔案,下面是網上找到的文章:

問題現象:

linux作業系統中的/var/spool/clientmqueue/目錄下存在大量檔案。

原因分析:系統中有使用者開啟了cron,而cron中執行的程式有輸出内容,輸出内容會以郵件形式發給cron的使用者,而sendmail沒有啟動是以就産生了這些檔案;

解決辦法: 1、 将crontab裡面的指令後面加上> /dev/null 2>&1

2、知識點:

2>:重定向錯誤。

2>&1:把錯誤重定向到輸出要送到的地方。即把上述指令的執行結果重定向到/dev/null,即抛棄,同時,把産生的錯誤也抛棄。

3、具體代碼:

(1)、# crontab -u cvsroot -l

01 01 * * * /opt/bak/backup

01 02 * * * /opt/bak/backup2

(2)、# vi /opt/bak/backup

#!/bin/sh

cd /

getfacl -R repository > /opt/bak/backup.acl

(3)、# vi /opt/bak/backup2

week=`date +%w`

tar zcvfp /opt/bak/cvs$week/cvs.tar.gz /repository >/dev/null 2>&1

4、清除/var/spool/clientmqueue/目錄下的檔案:

# cd /var/spool/clientmqueue

# rm -rf *

如果檔案太多,占用空間太大,用上面指令删除慢的話,就執行下面的指令:

# ls | xargs rm -f