我想要持久化日志通过日记。我创建了/var/log/journal并重新加载了服务。现在日志保存在磁盘上。但原木的大小限制很低。
我加了/etc/systemd/journald.conf。(Storage=persistent/auto并不重要,我两者都试过了)。
[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
SystemKeepFree=10G
SystemMaxFileSize=1G
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg如您所见,我只将每个日志文件大小更改为1Gb,并告诉您,我想在磁盘上释放10 1Gb。
但是journald告诉我他只有4Gb的日志存储容量。
$ sudo systemctl status systemd-journald
...
jan 20 15:44:26 host systemd-journald[1218]: System journal (/var/log/journal/) is 4.5G, max 4.0G, 0B free.
jan 20 15:44:26 host systemd-journald[1218]: Journal started我错过了什么?
$ systemctl --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN发布于 2018-01-20 19:34:51
设置SystemMaxUse=100G是必要的。
发布于 2018-01-20 18:22:06
来自男人页面:
SystemMaxUse=、SystemKeepFree=、SystemMaxFileSize=、SystemMaxFiles=、RuntimeMaxUse=、RuntimeKeepFree=、RuntimeMaxFileSize=、RuntimeMaxFiles= --第一对默认为10%,第二对为各自文件系统大小的15%,但每个值都上限为4G。如果文件系统几乎已满,并且在Systemd-日记启动时违反了SystemKeepFree=或RuntimeKeepFree=,则限制将提高到实际空闲的百分比。这意味着,如果在创建日志文件之前有足够的空闲空间,并且随后有其他原因导致文件系统填满,则日记将停止使用更多的空间,但也不会删除现有文件以再次减少占用空间。
因此,是的,它在4G (<#>)中是最大的,但是,在您的例子中,下面的内容很有趣:
日志和systemd-日志忽略所有名称不以".journal“或".journal~”结尾的文件,因此在计算当前磁盘使用率时只考虑到位于适当目录中的此类文件。
因此,定期移动日志文件可以使您绕过限制。请注意,<#>您必须确保日志不会以某种方式填满您的文件系统,从而删除旧的日志文件!您可以,比方说有一个文件最大1G,然后定期检查并将该文件移动到${filename}.n,其中n为1-9,从而有最大的10G .前提是当文件大小达到1G时将其移动到最老的${filename}.n。为了看日志,你不考虑名字,只是年纪大到最小.
发布于 2021-09-04 08:32:23
您可能还需要引发SystemMaxFiles,因为systemd将在达到System{MaxUse/KeepFree}限制之前从/var/log/journal/*/文件夹中删除日志文件,因为它已经用完了日志文件的数量。
在我的系统中,/var/log/journal/*/systemd@*.journal中的每个文件的上限都是129Mb,默认限制为100 SystemMaxFiles,尽管将SystemMaxUse设置为50G,但实际存储的日志数量仍为13 of。
https://unix.stackexchange.com/questions/418460
复制相似问题