如何配置日志文件的最大占用空间?
美国、香港服务器
如何配置日志文件的最大占用空间?
11-09 来源:
#### 1. 编辑配置
nano /etc/systemd/journald.conf
修改 / 取消注释,示例(日志总上限 5G,单文件最大 500M):
[Journal]
Storage=persistent
SystemMaxUse=5G
SystemMaxFileSize=500M
# 同时限制时间,最多保留7天
MaxRetentionSec=7day
- `Storage=persistent`:日志持久化存到 `/var/log/journal`,重启不丢日志
- `SystemMaxUse=5G`:所有 journal 日志加起来最多占 5GB,到阈值自动删旧日志
- 单位支持:`K`、`M`、`G`、`T`
#### 2. 重载并重启服务(必须做,否则不生效)
systemctl daemon-reload
systemctl restart systemd-journald
#### 3. 验证是否生效
# 查看合并后的最终生效配置
systemd-analyze cat-config systemd/journald.conf | grep -E "SystemMaxUse|SystemMaxFileSize|MaxRetentionSec|Storage"
# 查看当前journal占用
journalctl --disk-usage
### 补充:普通应用日志(非 journal,用 logrotate)
如果是 Nginx、宝塔网站这类单独日志,用 `logrotate` 控制大小。
示例配置(比如 nginx 日志,单个文件 100M 自动切割,保留 7 份)
nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
size 100M
rotate 7
compress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx
endscript
}
测试 logrotate 配置:
logrotate -d /etc/logrotate.d/nginx
### 常用推荐组合(直接复制)
journald 兼顾空间 + 时间,适合服务器:
[Journal]
Storage=persistent
SystemMaxUse=10G
SystemMaxFileSize=1G
MaxRetentionSec=7day
注意:
> - 参数前面不能有 `#`,带 #是注释,不会生效
> - 不要把 SystemMaxUse 设置太大,避免打满磁盘
> - 如果你是 CentOS/RHEL,配置路径和参数完全一样
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快