每过几天,网站都会挂一下,跑到后台一查,空间平时占用10%,现在占用50%。再查了下磁盘节点数,发现占满了。
跑到/var/spool/clientmqueue文件夹下用ls -l |grep "^-"|wc -l统计文件,根本统计不出来就卡死了。
用ls |xargs rm -rf删掉所有文件,磁盘占用恢复10%,一切恢复,可是不用过几天,又这样了。
从上图中,明显看到这些文件是由www用户建立的,我查了一些资料,说是跟一个系统内核参数kernel.msgmni有关,于是参照http://www.cnblogs.com/imparser/archive/2010/05/13/1734608.html 把参数改成128,但是几个小时还是产生了上万个小文件。
1.crontab -l查看是空的
2.没有启用sendmail
我打开其中一个文件,内容是:
V8
T1465278241
K1465278241
N1
P30414
MDeferred: Connection refused by [127.0.0.1]
Fbs
$_www@localhost
${daemon_flags}c u
Swww
Awww@v1008-92.members.vrtul.com
MDeferred: Connection refused by [127.0.0.1]
C:www
rRFC822; www@v1008-92.members.vrtul.com
RPFD:www
H?P?Return-Path: <乬>
H??Received: (from www@localhost)
by v1008-92.members.vrtul.com (8.13.8/8.13.8/Submit) id u575i1YR030245;
Tue, 7 Jun 2016 05:44:01 GMT
H?D?Date: Tue, 7 Jun 2016 05:44:01 GMT
H?x?Full-Name: CronDaemon
H?M?Message-Id: <201606070544.u575i1YR030245@v1008-92.members.vrtul.com>
H??From: root (Cron Daemon)
H??To: www
H??Subject: Cron <www@li1008-92> /www/web/xxx_com/public_html/includes/msn/1.sh
H??Content-Type: text/plain; charset=UTF-8
H??Auto-Submitted: auto-generated
H??X-Cron-Env: <SHELL=/bin/sh>
H??X-Cron-Env: <HOME=/dev/null>
H??X-Cron-Env: <PATH=/usr/bin:/bin>
H??X-Cron-Env: <LOGNAME=www>
H??X-Cron-Env: <USER=www>
我该怎样排查这个问题呢?
貌似是你系统的crond+sendmail的锅?
而且你这个
ls -l |grep "^-"|wc -l
为何不使用find -type f|
这种呢。。update:
/www/web/xxx_com/public_html/includes/msn/1.sh
这个是什么?