Answers:
问题是,我可以安全地删除它们吗?这些是吃我空间的文件?
这些文件只是日志文件。因此,如果您愿意,可以手动折腾它们。但这只是一个临时修复,因为创建的这些特定日志文件没有设置限制。
因此,如果您对仅丢弃文件感到紧张 - 并希望长期修复,以便您不必再担心 - 那么不要只是手动抛出日志。相反,您应该调整journald
(日记守护程序)日志轮换配置,以指示它修剪当前存储的日志并防止再次发生这种情况。
要执行此操作,只需编辑主要的日记配置文件:
/etc/systemd/journald.conf
并设定SystemMaxUse
价值; 该100M
值只是我的任意示例设置,因此根据您认为的日志记录需求调整更高或更低:
SystemMaxUse=100M
保存文件,然后检查量journald这样的日志磁盘使用情况:
sudo journalctl --disk-usage
之后,重新启动,systemd-journald.service
这样新SystemMaxUse
的有效:
sudo systemctl restart systemd-journald.service
然后检查journald这样的服务重新启动后,日志磁盘使用情况:
sudo journalctl --disk-usage
现在应该将磁盘使用量降低到任何值SystemMaxUse
。
.journal文件属于systemd-journald,是传统“syslog”的替代品,因此它们主要包含各种服务消息,并且适用相同的规则:
主日志文件每隔𝒏天/每兆字节存档(即“旋转”),因此system.journal
1包含最新消息(类似于/var/log/syslog
),而各种system@*.journal
文件是日志存档(类似于/var/log/syslog.1,2,3,…
等等)。
如果您知道不需要旧的日志消息,则可以安全地删除存档的日志(所有/var/log/journal/*/*@*
文件)。您甚至可以配置自动清理/etc/systemd/journald.conf
,例如,使用超过3个月的所有日志到期MaxRetentionSec=3months
。
与syslog一样,不建议删除“当前” system.journal
文件,因为日志服务仍然打开它,因此数据实际上将保留在磁盘上,直到下次重新启动。(但是最近的日志版本检测到这一点并且无论如何都能正常工作。)
也就是说,也许你应该看看那些日志(使用journalctl -b
和各种其他选项),以防万一发生异常。如果您看到大量SSH登录尝试,fail2ban可能会有用。
1在某些发行版上,由您自己的程序生成的系统日志消息被分为user-*
日志而不是系统日志,以便进行访问控制。(例如,用户1000可以从user-1000.journal
但不一定读取消息system.journal
。)旋转和其他所有内容保持不变。
2您可以使用触发日志轮换systemctl kill -s SIGUSR2 systemd-journald
。