天天看点

/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