检查linux系统日志文件大小并限制
对于小硬盘VPS来说 空间还是挺重要的
有时候一不注意就会被系统日志占用很大一部分空间
这时候我们就需要限制日志文件的大小
第一行命令:journalctl --disk-usage
- 作用:
显示 systemd journal(系统日志)当前占用的磁盘空间大小。 输出示例:
Archived and active journals take up 1.9G in the file system.
这表示日志文件(包括归档和活跃日志)总共占用了
1.9GB
磁盘空间。
第二行命令:
sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=1G/' /etc/systemd/journald.conf && sudo systemctl restart systemd-journald
分解说明:
sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=1G/' /etc/systemd/journald.conf
sed
:流编辑器,用于对文件内容进行替换。-i
:直接修改文件内容(而非输出到终端)。s/#SystemMaxUse=/SystemMaxUse=1G/
:s/old/new/
:将匹配的old
替换为new
。具体操作:
- 查找文件中以
#SystemMaxUse=
开头的行(通常被注释的配置项)。 - 去掉注释符号
#
,并设置值为1G
。
- 查找文件中以
修改前(假设原文件内容):
#SystemMaxUse=
修改后:
SystemMaxUse=1G
- 目的:
配置 systemd-journald 的日志最大磁盘占用为1GB
,超过后会自动清理旧日志。
sudo systemctl restart systemd-journald
- 作用:
重启systemd-journald
服务,使配置文件/etc/systemd/journald.conf
的修改生效。
- 作用:
整体目的
- 限制日志占用空间:
通过设置SystemMaxUse=1G
,确保 systemd 日志文件的总大小不超过1GB
,避免因日志过大占用过多磁盘空间。 - 自动清理机制:
当日志超过1GB
时,systemd-journald
会自动删除旧日志,保留最新日志。
注意事项
- 配置文件路径:
确保/etc/systemd/journald.conf
存在,且原文件中确实有#SystemMaxUse=
这一行(通常是默认注释状态)。 - 权限问题:
需要sudo
权限才能修改配置文件和重启服务。 - 验证配置:
修改后可再次运行journalctl --disk-usage
检查日志占用情况,或通过journalctl --help
确认其他参数。
补充说明
- 如果希望设置其他值(如
500M
),只需将1G
替换为500M
。 - 若原配置文件中
SystemMaxUse
已存在且未被注释,需调整sed
命令为直接修改值(如s/SystemMaxUse=.*/SystemMaxUse=1G/
)。