作为一个懒得提笔写博客,懒得折腾服务器的懒X晚期患者,我其实早在几年前就把博客扔到ZWW老人家的VPS上撒手不管了。去年年末实在是闲的无聊,又想着折腾点啥,于是买了个VPS装上了SSR翻墙玩玩,顺带本着不浪费的原则也把自己的博客迁移到自己的VPS上了。一切看起来那么顺风顺水,SSR稳定的超乎想象,博客速度也在能够欣然接受的范围内。然后就在今天,无聊的我无聊的点开自己装的第三方服务器面板,准备升级一下面板的版本。然而却发现账号登陆不进去了!紧接着再试了试,居然自己的博客也没办法正常登陆账号!

突然一种被黑了的恐慌感扑面而来,赶紧打开官方面板看了下,运行参数貌似都没毛病,只是居然磁盘使用率是10/10G!满了!满了?!放个小博客,这特么两个月过去就满了?!赶紧放狗搜了搜,终于找到了症结。原来还是服务器优化没做好,导致产生了太多垃圾日志,就这么硬生生的把VPS塞满了。

  • MySQL产生的日志垃圾

用网上的方法用

1
du -s /home/* | sort –nr

去找到一个个排查包含大文件的目录,然后找到mysql日志文件的目录,不同的方法配置的服务器可能目录不同,比如用宝塔面板直接安装的服务器集成环境,mysql日志文件的目录就在/www/server/data下,会看到很多mysql-bin.0000XX这样的文件,这就是mysql产生的日志文件,每个都有几百兆,统统可以删掉。或者用

1
/usr/local/mysql/bin/mysql -u root -p

命令进入mysql的控制台,再用reset master来清除日志。如果要杜绝以后再产生日志,可以在/etc/my.cnf文件中的 log-bin=mysql-bin 和 binlog_format=mixed 这两句前面加入#,将其注释掉,重启mysql服务即可。

  • 计划任务产生的日志垃圾

另外用排查命令还找到了/var/spool/clientmqueue这个巨型目录,体积高达四五个G,放狗一搜居然是计划任务产生的日志文件,确实之前在面板上设置过几个自动备份的计划任务,而且都没有设置输出定向,日积月累的文件都被保存在/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 干不了。

可以用

1
ls | xargs rm -f

这个命令将/var/spool/clientmqueue目录下所有文件删除。

这样七七八八删下来,给vps减掉了七八个G的磁盘空间,基本也差不多了,做个记录,以观后效吧。

 
目前有1条回应
Comment
Trackback
Loading ....
  • zwwooooo 回应于2017/02/23 14:28 回复TA

    我配置的应该是自动删除老日志,所以开了几年的服务器都没有遇到磁盘写满的情况。

  • 本篇文章没有Trackback
你目前是游客,请输入昵称和电邮!