免费发布信息
网站目录 » 资讯 » 互联网络 » 行业资讯 » 文章详细

如何清除Systemd journald日志

来源:网络 浏览次数:104次 发布时间:2022-12-07

本快速教程演示了在Linux系统上清除systemd日志的两种方法。Journald是systemd自己的日志系统。对应于Init系统上的syslog。


收集和存储各种systemd服务的内核日志数据、系统日志消息、标准输出和错误。


带有Systemd的Linux系统将日志写入/var/log/journal目录。如果您记得Linux目录结构,/var/log是存储系统日志的位置。


可以使用Less命令或journalctl命令手动查看日志文件。要查看所有最新日志,请运行sudo journalctl -r命令。


测井的问题是,随着时间的推移,它会越来越大。检查Linux上的磁盘空间时,您会发现日志占用了几GB的空间。


本教程介绍如何清除systemd日志并释放Linux系统上的磁盘空间。


清除systemd journal日志
首先,使用du命令确定日志占用的空间,然后运行du -sh /var/log/journal/命令。您还可以通过运行Journalctl命令来确定日志占用的磁盘空间。


Journal CTL-disk-usage


这两个命令应提供大致相同的结果。现在您知道日志占用的空间量,您可以决定是否清除日志。


当然,您可以使用RM命令从日志文件夹中删除文件,但不建议这样做。Journalctl命令提供了处理旧日志的正确方法。


首先要做的是回滚日志文件。这将当前活动日志标记为归档,并创建新日志。这是可选的,但这样做是个好习惯。


Sudo journalctl - rotate


现在有三种方法可以清除旧日志。您可以删除超过指定时间的日志或删除过时的日志文件,从而将日志总大小限制为预定义的磁盘空间或限制日志文件数。


清除超过N天的日志
日志对审计很重要,不能同时删除所有日志。假设您只想保留2天的日志记录。要删除两天以上的所有日志,请使用以下命令:


还可以更改时间单位(例如2h)。以分钟为单位(例如,2m)。秒为2s。如果想要更大的时间单位,两周,两个月也可以。


Sudo journal CTL-vacum-time=2d


限制日志大小
另一种方法是限制日志大小。这将自动删除日志文件,直到日志占用的磁盘空间小于指定的大小。


例如,将日志大小减少到约100MB。您可以使用g指定GB大小、使用m指定MB大小、使用k指定KB等。


Sudo journal CTL-vacum-size=100m


限制日志文件数量
第三种方法是限制日志文件的数量。Journalctl通常有系统和用户的日志文件。日志过期后,会保存在各种文件中。


您可以限制归档日志文件的数量。假设您只想拥有5个日志文件。删除旧的归档日志文件,只保留指定数量的日志文件。


Journal CTL-vacum-files=5


自动删除日志
刚才做的事会暂时删除日志文件。一个月后日志再次增加。可以使用上述方法之一手动清除。但是这是一项枯燥的任务,你不会记得经常这样做。


好消息是,您可以配置systemd自动处理以前的日志文件。Journalctl配置文件位于/etc/systemd/journald.conf中。


某些设置将被注释掉。注释行默认情况下表示这些设置参数的默认值,即使注释了这些参数。通过更改其中的一些首选项,可以自动清理日志文件。


SystemMaxUse表示日志文件可以占用最大磁盘空间,SystemMaxFileSize表示单个日志文件允许的最大大小。SystemMaxFiles表示日志最大的日志文件数。


编辑配置文件时要小心。您应该熟悉使用基于终端的文本编辑器,例如Vim和Nano。


建议您在编辑配置文件之前备份配置文件CP/etc/systemd/journald . conf/etc/systemd/journald . conf . back。


现在,您必须取消注释并删除要使用的设置行开头的#。例如,您希望将日志文件占用的最大磁盘空间限制为250MB。


要编辑此配置文件,必须使用Vim或其他基于终端的编辑器。请记住,编辑个人资料后,必须重新启动journald服务。


sudo system CTL restart systemd-journald


可以使用Journald.conf文件进一步调整journalctl设置。您还可以设置要查看的日志级别(信息、调试、错误等)。如果还想更改这些设置,则取决于用户。

相关文章