Zhang Jiuan’ Notes

解决/var/spool/clientmqueue占用大量磁盘空间问题

    猛然发现磁盘/dev/sda2的空间占用率为100%,df命显示结果如下:

FileSystem         XXX           Used%

/dev/sda2         xxx           100%

………………………………….

为什么呢?

    于是想着一般临时或日志文件都存放在/var目录下,于是执行了如下命令

cd /var && du -sh `ls`

吓了一大跳,spool/clientmqueue占用了好几G的空间,为什么呢?仔细思考了

一下,应该是一些未被处理的消息被以文件的形式存在了这里。因此,如果没有

紧要的消息队列,此目录下的文件是可以清理的。

cd /var/spool/clientmqueue && rm * -rf

好了,问题解决了~~~~~~~~~~

上面解决了磁盘空间的问题,但出现这种问题的源头在哪呢?于是看了一下clientmqueue内部

的一个文件,显示是脚本运行的一个错误。与是查证了一下该脚本是以crontab方式运行的,

如下:

1 * * * * * cd /home/test/test && sh test.sh

问题找出来了,原来对于结果没有进行重定向!修改一下吧

1 * * * * * cd /home/test/test && sh test.sh 1>/dev/null 2>/dev/null

再看clientmqueue目录下,果真不再有新的文件生成了:)

实际上,输出重定向有另外一种更简洁的写法,即&>/dev/null,上述代码可写成:

1 * * * * * cd /home/test/test && sh test.sh &>/dev/null

怎么样,是不是更简洁了。

 

多谢

张久安

If you enjoyed this post, make sure you subscribe to my RSS feed!

One Comment, Comment or Ping

  1. 原来还可以这么写。。我一直都这么用: sh test.sh >/dev/null 2>&1

Reply to “解决/var/spool/clientmqueue占用大量磁盘空间问题”

You must be logged in to post a comment.

返回顶部