如何将旧的 systemd 日志轮换到不同的文件系统?

如何将旧的 systemd 日志轮换到不同的文件系统?

/var/log/journal我想通过将旧日志移动到不同的文件系统来限制 systemd 日志的大小(在)。我知道可以指定日记大小限制的SystemMaxUse设置。/etc/systemd/journald.conf但我不想删除旧的日记条目,而是想将它们存档在不同的文件系统中?

有没有办法做到这一点?要么是 systemd 中的设置,要么是一种告诉/var/log/journalcron 作业可以安全地将哪些旧文件移动到不同文件系统的方法。

答案1

一种可能性是简单地移走“存档”的 systemd 日志文件,即 systemd 已关闭的文件。这些是名称中带有 的文件,如下所示/var/log/journal/*:“当 systemd-journald 停止写入日志文件时,它将被重命名为”@man systemd-journald[电子邮件受保护]“ (或者 ”[电子邮件受保护]~")。此类文件被“存档”,不会再被写入")

在此之前,如果您想确保移动所有日志条目,您可以选择轮换文件以确保当前文件已存档。这将是简单的sudo journalctl --rotate。然后您可以执行以下操作来归档旧日志:sudo mv /var/log/journal/*/*@* /mnt/wherever

如果您只想保存早于某个日期的日志文件,另一种选择是journalctl --until显示某个日期之前的日志(并将它们保存在某个地方),然后journalctl --vacuum-time删除相应时间段的日志。

相关内容