我在谷歌中找不到任何安全的方法来清除系统日志。有谁知道有什么安全可靠的方法吗?
假设我正在尝试一些东西,并且我的日志中充满了各种错误消息。此外,我使用 Conky 在桌面上显示我的日记。我真的不想看到这些错误,因为它们让我想起了修复这些东西的糟糕一天,在经历了这场恐怖之后,我想感觉自己像个新鲜人。我想每个人都会同意这是清除日志的正当理由:P。
答案1
自我维护方法是按尺寸或时间对原木进行真空吸尘。
仅保留过去两天:
journalctl --vacuum-time=2d
仅保留过去的 500 MB:
journalctl --vacuum-size=500M
man journalctl
了解更多信息。
答案2
您通常不会自己清除日志。这是由 systemd 本身管理的,当新数据进入时,旧日志会被轮换出来。正确的做法是安排日志记录仅保留您感兴趣的数据。最常见的调整是总磁盘空间它被允许占用的空间。一旦跨越此边界,它将开始投掷旧条目以保持在该值附近。
您可以将其设置为/etc/systemd/journald.conf
像这样:
SystemMaxUse=100M
这将在下次重新启动或重启 journald 服务时强制执行:
$ systemctl restart systemd-journald
答案3
迈克尔的回答缺少一件事:清理仅删除存档的日志文件,而不删除活动的日志文件。要删除所有内容,您需要先轮换文件,以便将最近的条目移动到非活动文件中。
所以,删除完整的答案全部条目似乎是
sudo journalctl --rotate
sudo journalctl --vacuum-time=1s
(请注意,您不能将其合并为一个journalctl
命令。)
顺便说一句,一些发行版配置了日志记录,以便将日志写入磁盘(/var/log/journal
),而其他发行版则将日志保存在内存中(/run/log/journal
)。我预计在某些情况下可能需要sudo journalctl --flush
先使用才能删除所有内容。
--rotate
如果您的版本中没有,您可以使用--since
参数来过滤条目:
--since "2019-01-30 14:00:00"
--since today
答案4
因为--vacuum-time
没有--vacuum-size
为我做任何事情,所以我做了以下事情:
$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm
$ sudo systemctl restart systemd-journald
这是不对的,但它有效。