病毒安全知识,电脑网络技术,手工杀毒方法,答疑解决笔记

导航

« 怎样在Windows的系统托盘时钟里显示秒数

Ubuntu的journalctl到底删的是啥

最近发现Ubuntu下用于系统日志清理的命令journalctl与网上搜索到的用法有些不同,似乎边官网文档中也没有很明确说明,于是我问了AI,结果国外AI,主打一个你纠正我我就改正,舔你没商量,国内AI就嘴硬,死不承认,纠正多了,要么和个稀泥折中,要么要我去联系官方客服。

比如网上搜索到文章教程都是说用以下命令参数可以清除7天以前的日志:

sudo journalctl --vacuum-time=7d

7d,即7天,这个可以改成自己想要的时间参数,比如1s,即1秒。

但实际上直接使用此命令,可能并没有这样的效果,特别是刚装系统不久,这时日志比较少还没任何归档时,就是说journalctl处理的对象是归档后的日志文件。如果日志文件仍在使用中,是不能被清理的。

怎么归档,一种是自动,日志文件到达默认设定大小后就自动归档(可以改设定条件),另一种是手动,使用带轮换参数的命令:

journalctl --flush --rotate

不管手动还是自动,都是将原在用(活动)日志文件改成归档文件,然后生成一个新的文件,新文件作为新的活动日志文件保存新产生的日志。

以上命令中的--flush参数是将存储在 /run/log/journal/ 中的所有日志数据冲入 /var/log/journal/,默认安装的Ubtuntu,似乎并不在 /run/log/journal/ 下保存日志(如果真的在这里,又没有启用持久存储,重启系统后,日志就会自动清空),所以如果日志只存在于 /var/log/journal/,则归档命令用journalctl --rotate即可。

还有一个与网上教程们不同的地方,journalctl命令清理的目标是文件,不是日志。假如一个归档日志文件中包含前10天的日志内容,使用sudo journalctl --vacuum-time=7d命令,并不会只删除7天前的日志,而留下3天的量,实际操作是当发现这个归档文件包括7天前的日志时,则该归档文件整个会被删除。

除了前面说的时间参数--vacuum-time外,其他参数也类似,比如按容量大小--vacuum-size删除归档日志文件。以上是在Ubuntu20.04和22.04上测试得来的结果。 


>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/2329.html

  • 与 [ Ubuntu的journalctl到底删的是啥 ] 相关的文章:

发表评论(无须注册,所有评论在审核通过后显示):

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 微信订阅号
    微信订阅

最新发表

最新评论及回复

本站出现的所有广告均不代表本人及本站观点立场 | 关于我 | 网站地图 | 联系邮箱 | 返回顶部
Copyright 2008-2020 www.stormcn.cn. All Rights Reserved. Powered By Z-Blog.

闽公网安备 35010202000133号