linux上系统磁盘满了的问题

今早打不开前台的东西,一打开会报 “执行SQL发生错误!错误:Incorrect key file for table /tmp/#sql_6543_0.MYI; try to repair it”

经过一顿查询说是磁盘满了,先去wdCP上(类似宝塔)去看了下磁盘使用率,结果有一个使用率达到了100%

然后我用xsell进去根目录,查下是哪个文件满了,使用命令:

du -h --max-depth=1

执行的时候就很慢,就确定了,里边肯定有很大的文件占用了磁盘空间,

/www 是数据盘,不是系统盘,原因是系统盘满了呢,于是

cd /var
du -sh *

结果是这个文件占用的太大了

顺着再进去这个文件里

cd var
du -sh *

顺着spool找

cd spool
du -sh *

看到这么多大文件

这样看比较直观

然后我就想/var/spool/clientmqueue这个目录干嘛用的,纠结了半天,谷歌了下,原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

服务器上确实有cron定时执行数十个脚本,而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面了==

解决方法:在cron的自动执行语句后加上> /dev/null 2>&1 例: 4 3 * * * /usr/bin/w > /dev/null 2>&1 这样就OK拉,就不会写到那个目录下了…

在这里说一点,/var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:

“-bash: /bin/rm: Argument list too long“… 意思是参数太长,rm 干不了。 可以用ls | xargs rm -f这个命令将/var/spool/clientmqueue目录下所有文件删除。 or

也可以直接再ftp上直接删把,比较直观===

经验分享 程序员 微信小程序 职场和发展