观察新装的几台linux服务器状况,发现var目录超大,连续两周检查,均超大。
大文件分别存储在这些目录中:/var/log/xferlog, /var/cache/logwatch
1,检查发现,xferlog是vsftpd产生的。
而其根源在于vsftpd的缺省配置。
[root@xx~]# grep xfer /etc/vsftpd/vsftpd.conf
xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
貌似配置没啥问题,从表面来看也不应该产生xferlog文件,但是偏偏/var/log目录下没有vsftpd.log,只有另一个xferlog
文件。其原因在于xferlog_file
缺省值是/var/log/xferlog,它被注释掉了,所以执行缺省值。
文件。其原因在于xferlog_file
缺省值是/var/log/xferlog,它被注释掉了,所以执行缺省值。
而每天都会进行归档的/etc/cron.daily/logrotate程序的配置中没有包括xferlog文件的规档,但是它已经缺省包含了/var/log/vsftpd.log的归档配置。
[root@xx~]# cat /etc/logrotate.d/vsftpd.log
/var/log/vsftpd.log {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
解决办法很简单,修改/etc/vsftpd/vsftpd.conf配置文件,把xferlog_file前面的#井号去掉。然后重启vsftpd即可。
/var/log/vsftpd.log {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
解决办法很简单,修改/etc/vsftpd/vsftpd.conf配置文件,把xferlog_file前面的#井号去掉。然后重启vsftpd即可。
2,检查发现,logwatch是每天都会增加的。
每天都由/etc/cron.daily/0logwatch来执行和调度。
目前还没有找到太好的办法来控制这些文件的产生。
如果需要手工删除过大的文件,可以通过find来查找。
查找大于1M大小的文件 find . -size +1M -exec ls -l {} ;
估计可以按这种思路去解决:
估计可以按这种思路去解决:
vi /etc/cron.daily/tmpwatch
增加一行内容,保留100天的归档文件(子目录):
/usr/sbin/tmpwatch --mtime 2400 /var/cache/logwatch
没有评论:
发表评论