如何清除 systemd 日志日志

[ad_1]

systemd 有自己的日志系统,它为日志内核和用户进程提供集中管理。 本文介绍了如何清除 systemd 日志日志文件。

systemd-journald

是一种收集和存储日志数据的系统服务。 此日志数据存储在
/run/log/journal/MACHINE-ID/

(易失性 – 日志日志数据存储在内存中并在重新启动时丢失)或
/var/log/journal/MACHINE-ID

(持久性 – 日志数据日志存储在磁盘上)。 在配置为将 systemd 日志数据存储在磁盘上的系统上,一段时间后日志可能会占用大量磁盘空间。

但是在尝试清除 systemd 日志日志文件之前,让我们通过使用以下命令来看看这些日志文件实际占用了多少系统空间:

journalctl --disk-usage

输出示例:

$ journalctl --disk-usage
Archived and active journals take up 1.6G in the file system.

值得注意的是
journalctl --disk-usage

显示存档和活动日志文件的磁盘使用量总和,因此即使在清除日志日志文件后也不会显示 0 磁盘空间使用量,如下所述。

删除所有日志条目(包括活动日志文件,它们被标记为已归档) --rotate 命令),使用:

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

这里:

  • --rotate 要求日志守护程序轮换日志文件。 日志文件轮换的效果是所有当前活动的日志文件都被标记为已归档并重命名,以便将来永远不会写入它们。 然后在它们的位置创建新的(空的)日志文件。 没有这个,活动日志文件不会被删除 --vacuum*= 命令。
  • --vacuum-time=1s 使所有日志文件不包含早于 1 秒的数据。 您可以更改 --vacuum-time 时期以满足您的需要,例如 1m 1分钟, 2h 1小时, 2weeks 2周, 4months 4个月。

您可以使用
--vacuum-size

代替
--vacuum-time

(您也可以同时使用两者),删除最旧的归档日志文件,直到它们使用的磁盘空间低于指定大小。 指定
--vacuum-size

值后跟通常的“K”、“M”、“G”和“T”后缀,例如
journalctl --vacuum-size=100M

删除归档日志文件,直到它们使用的磁盘空间低于 100M。

我还想指出,在较新的 systemd 版本(240 和更新版本,例如在 Ubuntu 19.04 和更新版本中使用)上,您可以结合使用
--vacuum*=


--rotate

命令。 例如,要轮换日志文件并删除存档的日志文件,直到它们使用的磁盘空间低于 500M,您可以使用:

sudo journalctl --rotate --vacuum-size=500M

当您想手动清除日志日志时,这些命令可按需使用。 但
您还可以将 journald 配置为在磁盘上超过特定大小或给定时间后清除存档日志
. 这可以通过编辑 journald 配置文件(
/etc/systemd/journald.conf

),然后取消注释,然后向 SystemMaxUse= 添加一个值(例如:
SystemMaxUse=100M

删除存档的日志文件,直到它们使用的磁盘空间低于 100M)和/或
MaxFileSec=

(。例如
MaxFileSec=5day

使所有日志文件不包含超过 5 天的数据)。

你可能也会喜欢:

  • 如何删除旧的 Snap 版本以释放磁盘空间
  • 如何删除未使用的 Flatpak 运行时以释放磁盘空间

[ad_2]

Related Posts