journalctl 日志保留时间及持久化存储日志

文章介绍了SystemdJournald默认的日志存储位置以及如何通过配置文件/etc/systemd/journald.conf将日志设置为持久化,特别是将`Storage`设置为`persistent`以在重启后保留日志。此外,还提到了如何调整最大存储使用量以限制日志大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Systemd Journald基础

默认情况下,Systemd将系统日志存储在/run/log/journal目录中,正如我们在了解Linux文件系统层次结构中所说的(参考:介绍Red Hat Enterprise Linux(RHEL) 8的文件系统目录/层次结构),/run目录中的所有内容都将被清除,并在重新引导时重新创建内容,这意味着在系统重新引导时将清除日志。

默认情况下并不会持久化保存日志,只会保留一个月的日志。可以通过配置MaxRetentionSec=365d 设置为保留1年。

我们可以在/etc/systemd/journald.conf文件中调整systemd-journald服务的配置设置,以使日志在重新引导后仍然存在,打开文件以查看其内容:

$ sudo vim /etc/systemd/journald.conf

这些是可以配置的常用选项,大多数系统中的大多数选项都会被注释掉,以便您进行相应调整:

[Journal]

#Storage=auto

#Compress=yes

#Seal=yes

#SplitMode=uid

#SyncIntervalSec=5m

#RateLimitInterval=30s

#RateLimitBurst=1000

#SystemMaxUse=

#SystemKeepFree=

#SystemMaxFileSize=

#RuntimeMaxUse=

#RuntimeKeepFree=

#RuntimeMaxFileSize=

#MaxRetentionSec=

#MaxFileSec=1month

#ForwardToSyslog=yes

#ForwardToKMsg=no

#ForwardToConsole=no

#ForwardToWall=yes

#TTYPath=/dev/console

#MaxLevelStore=debug

#MaxLevelSyslog=debug

#MaxLevelKMsg=notice

#MaxLevelConsole=info

#MaxLevelWall=emerg

#LineMax=48K

配置Systemd Journald

要将systemd-journald服务配置为在重新启动后永久保留系统日志,您需要将Storage设置为persistent。

可以为Storage参数设置的其他值是:[1]、persistent:将日志存储在/var/log/journal目录中,该目录在重新启动后仍然存在。[2]、volatile:将日记存储在volatile/run/log/journal目录中,这不会导致系统重启。[3]、auto:rsyslog将确定使用持久性存储(persistent)还是易失性存储(volatile),如果存在/var/log/journal目录,则rsyslog使用持久性存储,否则使用易失性存储。

对于永久存储,请将其设置为:

[Journal]

Storage=persistent

提交更改后,请重新启动systemd-journald服务以使配置更改生效:

sudo systemctl restart systemd-journald

应该创建/var/log/journal目录:

$ ls /var/log/journal

65113b1a0d2f6087d515e6a8cd0ee7ef

/var/log/journal下的子目录的长名称中包含十六进制字符,并且包含*.journal文件:

$ ls /var/log/journal/65113b1a0d2f6087d515e6a8cd0ee7ef/

system.journal

*.journal文件是存储结构化和索引日记帐分录的二进制文件。

调整日记的最大存储使用量

您可以通过取消注释和更改以下内容来设置永久日志的最大大小:

SystemMaxUse=500M

默认大小限制设置为基础文件系统大小的10%,但上限为4GiB:

sudo systemctl restart systemd-journald

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值