东篱昏后

导航

 

一、情景描述

节点磁盘空间告警,使用df -h查看发现是/var盘满了,cd进入/var目录下,du -sch log/ 发现是log目录占用空间大,cd切换到log目录下,du -dh *查看是因为maillog日志太大导致的,故需要清理maillog日志。

二、处理过程

我是想将maillog分割成几个小文件,再删除很久之前的数据,但是/var空间满了,我就将maillog移动到/tmp目录下进行分割。

①mv /var/log/maillog /tmp

②split -b 500M /tmp/maillog

分割完成后我就将/var/log/maillog文件和/tmp/maillog删除了,想要将分割好的小文件移动到/var/log下,但是还是提示没有空间,使用df -h查看发现/var使用率100%了,但是在/var下的各个目录都很小,然后查看delete进程。

③lsof | grep delete 找到了删除/var/log/maillog的进程。

④kill -9 PID 删除对应的进程。

至此空间告警恢复,再将之前分割好的小文件移动到/var/log下即可。

三、补充清空日志方法

查询打开/var/log/messages文件的进程的进程ID(PID):

lsof | grep messages

得到输出:

COMMAND    PID USER   FD   TYPE DEVICE   SIZE/OFF NODE NAME

rsyslogd  1455 root    4w   REG    8,6 1299113404 2686 messages

abrt-dump 1932 root    4r   REG    8,6 1299113404 2686 messages

结束生成messages的进程:

kill -9 1455

kill -9 1932

清空日志并重启:

cat /dev/null > /var/log/messages

reboot

 

posted on 2022-05-13 10:32  东篱昏后  阅读(4046)  评论(0编辑  收藏  举报