如何使用 journalctl 读取日志、检查日志占用的空间大小,并通过 --vacuum 选项安全地缩减日志大小。
journalctl 是读取 systemd 日志的命令,后者是被大多数现代 Linux 发行版使用的二进制日志存储。它可以按服务、引导、时间和优先级过滤消息,还可以报告和限制日志的磁盘使用量(在 /var/log/journal 中通常会增长到数吉字节)。
'journalctl -u nginx.service' 显示单个单元的消息。'-b' 将输出限制为当前的引导,'-b -1' 限制为上一次引导。'-p err' 仅显示错误及更高级别的信息。'--since "1 hour ago"' 按时间进行限制,'-f' 则实时跟踪新消息。
'journalctl --disk-usage' 打印活动日志文件和归档日志文件的总大小。
'--vacuum-size='、'--vacuum-time=' 和 '--vacuum-files=' 会删除归档的日志文件,直到满足限制条件;它们不会触及活动文件。
限制是在 /etc/systemd/journald.conf 中设置的,例如 SystemMaxUse=500M,然后通过 'systemctl restart systemd-journald' 应用。如果没有进行设置,journald 默认会将日志保持在文件系统大小的 10% 以内,上限为 4 GB。
journalctl --disk-usagesudo journalctl --rotatesudo journalctl --vacuum-time=2weekssudo journalctl --vacuum-size=500M/etc/systemd/journald.conf 中设置 SystemMaxUse=500M 并运行:sudo systemctl restart systemd-journald/var/log/journal 中的文件。说明: RainServer 为 Linux 服务器提供监控和安全清理功能;它会显示将要发生的变化并首先进行询问。
最后更新: 2026-10-08
logrotate 的作用、/etc/logrotate.conf 和 /etc/logrotate.d 中的配置原理,以及如何安全地测试规则。
如何使用 du 和交互式的 ncdu 查找 Linux 磁盘中被占满的内容,并提供保留在单个文件系统中的选项。
如何读取 df 的输出,为什么普通用户在 Avail 降为零之前 Use% 就可能达到 100%,以及如何使用 df -i 检查 inode。