Journalctl 是 Linux 中用于查看系统日志的命令行实用程序Linux 必须是使用 Systemd 的发行版。它是系统管理员必不可少的工具可以诊断问题、监视系统性能以及跟踪对系统的更改。但是日志会消耗很大磁盘空间特别是在管理不当的情况下。在在本文中我们将演示如何自动化清理 journal 日志的过程。什么是 journalctl ?Journalctl 是一个命令行实用程序允许您与 systemd journal 进行交互。systemd journal 是日志数据的中央存储库日志由各种系统组件和应用程序产生。systemd journal 提供一个集中的、易于搜索的日志数据存储库使管理和监视系统日志变得更加容易。使用 journalctl 手动清理日志systemd journal 中的日志以二进制格式存储并根据大小和时间自动旋转。这意味着您不需要手动删除旧日志释放磁盘空间。下面是使用journalctl清理日志的步骤1. Determine the Size of Your Journal Logs第一步是确定日志的大小使用以下命令检查当前日志的大小1journalctl --disk-usage这将显示日志的总大小和它所消耗的磁盘空间量输出如下1Archived and active journals take up 2.2Ginthefilesystem.您也可以使用du -sh /var/log/journal命令查看日志大小。2. Prune Old Logs确定了日志大小后可以使用-vacuum-size-vacuum-time选项来修剪日志。例如将日志限制为500MB使用以下命令1journalctl --vacuum-size500M例如要删除所有超过7 天的文件使用以下命令1sudojournalctl --vacuum-time7d3. Verify the pruning再次运行journalctl -disk-usage命令检查日志大小是否已减小到所需的限制。使用 journalctl 自动清理日志Journalctl 日志会占用大量的磁盘空间可以配置 systemd 自动清理日志来控制日志的大小。下面是自动清理日志的步骤(1) 打开/etc/systemd/journal .conf配置文件1sudonano/etc/systemd/journald.conf(2) 在配置文件中添加或修改以下条目1234567# Set the maximum size of the journal logs in bytesSystemMaxUse200M# Set the number of days after which logs will be deletedMaxRetentionSec7d(3) 保存并关闭文件重启 Systemd 日志服务以应用更改。1sudosystemctl restart systemd-journald现在systemd 将自动清理超过 7 天的日志并确保日志的总大小不超过 200 M。注意本例中使用的值仅用于演示目的。你应该调整配置值以满足您系统的特定要求。