为 systemd 配置日志自动删除

后知后觉 暂无评论

systemd 的日志占用空间会随着时间变长而逐步增长,那么如何进行清理系统日志的占用呢?

systemd 的日志管理工具 journalctl 相当于 init 的 syslog。

其所有的日志文件默认存放在 /var/log/journal 中,默认的配置下,这个文件夹的空间会逐步膨胀。

占用查询

使用命令即可查询当前 systemd 日志的空间占用情况

sudo du -sh /var/log/journal/

然而实际上,journal 自带了空间占用查询的命令

sudo journalctl --disk-usage

清理日志

journal 提供了多种维度的参数来清理日志,比如可以按天清理、按日期清理甚至可以按空间占用进行清理,比如:

自动化清理

不想手动清理怎么处理?其实程序内已经自带了自动清理功能,只需要修改配置文件 /etc/systemd/journald.conf 中的参数即可实现。

[Journal]
Storage=auto
Compress=yes
Seal=yes
SplitMode=uid
SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=100M

注意其中的参数 SystemMaxUse ,只需要配置这个参数即可实现系统自动滚动删除日志,比如将其配置为 SystemMaxUse=128M 即可将系统日志空间占用限制为 128Mb ,超过的部分会自动删除。


附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复 / 查看「历史评论
回答20+41=