如何在 Linux 上自动清理 Journalctl 日志 ?

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

第一步是确定日志的大小,使用以下命令检查当前日志的大小:

复制代码
journalctl --disk-usage

这将显示日志的总大小和它所消耗的磁盘空间量,输出如下:

复制代码
Archived and active journals take up 2.2G in the file system.

您也可以使用 du -sh /var/log/journal 命令查看日志大小。

2. Prune Old Logs

确定了日志大小后,可以使用 -vacuum-size-vacuum-time 选项来修剪日志。

例如,将日志限制为 500MB,使用以下命令:

复制代码
journalctl --vacuum-size=500M

例如,要删除所有超过7 天的文件,使用以下命令:

复制代码
sudo journalctl --vacuum-time=7d

3. Verify the pruning

再次运行 journalctl -disk-usage 命令,检查日志大小是否已减小到所需的限制。

使用 journalctl 自动清理日志

Journalctl 日志会占用大量的磁盘空间,可以配置 systemd 自动清理日志来控制日志的大小。

下面是自动清理日志的步骤:

(1) 打开 /etc/systemd/journal .conf 配置文件:

复制代码
sudo nano /etc/systemd/journald.conf

(2) 在配置文件中添加或修改以下条目:

复制代码
# Set the maximum size of the journal logs in bytes

SystemMaxUse=200M

# Set the number of days after which logs will be deleted

MaxRetentionSec=7d

(3) 保存并关闭文件,重启 Systemd 日志服务以应用更改。

复制代码
sudo systemctl restart systemd-journald

现在,systemd 将自动清理超过 7 天的日志,并确保日志的总大小不超过 200 M。

注意: 本例中使用的值仅用于演示目的。你应该调整配置值,以满足您系统的特定要求。

我的开源项目

相关推荐
vortex5几秒前
解密UUOC:Shell编程中“无用的cat使用”详解
linux·shell编程
tritone10 分钟前
使用阿贝云免费云服务器学习Vagrant,是一次非常顺畅的体验。作为一名开发者
服务器·学习·vagrant
wangjialelele10 分钟前
Linux中的进程管理
java·linux·服务器·c语言·c++·个人开发
SAP工博科技19 分钟前
SAP 公有云 ERP 多工厂多生产线数据统一管理技术实现解析
大数据·运维·人工智能
YongCheng_Liang22 分钟前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
杜子不疼.29 分钟前
【Linux】库制作与原理(二):动态库的制作与使用
linux·运维·服务器
森焱森31 分钟前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
小白电脑技术36 分钟前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
消失的旧时光-194337 分钟前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
BJ_Bonree38 分钟前
4月17日,博睿数据受邀出席GOPS全球运维大会2026 · 深圳站!
大数据·运维·人工智能