记一次服务器日志清理
有一台生产服务器在例行检查时发现磁盘剩余空间减少得非常快,于是想定位一下问题。
首先通过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
这个命令硬性指定日志的总体体积,意味着其会不断删除旧有记录直到所占容量符合要求,但不意味着今后也一直保持这个体积,只是清理到只剩这个体积,系统运行过程中还是会继续占用空间,所以这条命令可以定期地执行。
完事!