记一次服务器日志清理

有一台生产服务器在例行检查时发现磁盘剩余空间减少得非常快,于是想定位一下问题。

首先通过df -h命令查看磁盘消耗情况。

可以看到我们40G的硬盘已经消耗了19G,其实这是我清理后的截图,博客也是清理后才写的,清理前只剩5G的空闲空间。

通过 du -h -d 1 /命令查看一个文件夹的空间占用情况,这条命令会等待一会

通过逐级搜索,发现是/var/log/messages/var/log/messages-*占用比较大

查看了一下内容,都是些程序运行时输出的日志,于是我准备删除它们。

为了确保这些文件没有正在被使用,使用lsof filename命令查看文件占用情况

确定文件没有在使用中,直接用rm -rf删除之

另外发现 /var/log/journal文件夹也比较大,这个文件夹保存了大量的系统日志,可以通过journalctl工具进行管理。参考博客

可以利用–disk-usage标记查看journal的当前磁盘使用量:

清理日志:

只保留1G的日志

journalctl --vacuum-size=1G

这个命令硬性指定日志的总体体积,意味着其会不断删除旧有记录直到所占容量符合要求,但不意味着今后也一直保持这个体积,只是清理到只剩这个体积,系统运行过程中还是会继续占用空间,所以这条命令可以定期地执行。

完事!

评论