前段时间公司的一个项目出现了一个bug,使用ajax上传大文件时会出现网络问题。使用chrome开发者工具查看网络请求时,发现错误是ERR_CONNECTION_RESET
。看到这个错误就想到访问Google出现的情况,哈哈。然后用IE的开发人员工具查看网络请求,显示的错误码是403。
这段时间也没更新代码,本地测试也是OK的。但是部署到服务器上就出问题了。因为服务器是租用淘宝聚石塔的,难道是因为防火墙的问题?但是也就仅仅只有这个页面存在问题,其他都是正常的。
服务器上安装了nginx
和tomcat
,查看nginx
的访问日志,发现记录太多,放弃。查看错误记录发现提示磁盘空间不足,日志无法写入。
果断用df-lh
查看磁盘占用情况,发现挂载点/
已满。切换到根目录,运行du-sh*
查看各文件夹大小,发现var
占用了30多G,继续du-sh/var/*
最终找到文件夹/var/spool/clientmqueue
占用30多G。
Google/var/spool/clientmqueue
这个文件夹占用过大的原因发现是
系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。
好吧,果断删除/var/spool/clientmqueue
文件夹下的所有内容。重新测试,发现bug消失了。
然后去/etc/cron*
看看有什么样的定时任务,发现有很多,应该是创建聚石塔服务器创建的,也不好修改。那么就只能采取迂回战术了。在/etc/cron.daily
下新建文件rmclientmqueue
:
#!/bin/shrm-rf/var/spool/clientmqueue/*chmodu+xrmclientmqueue