温馨提示×

ubuntu syslog如何设置大小

小樊
36
2026-08-15 23:57:30
栏目: 智能运维

在 Ubuntu 中,syslog 默认由 rsyslogsystemd-journald 管理,大小限制方式不同。下面分别说明常见做法。


一、rsyslog(/var/log/syslog)

Ubuntu 默认使用 rsyslog + logrotate 来控制日志大小。

1️⃣ 查看当前 syslog 大小

ls -lh /var/log/syslog

2️⃣ 通过 logrotate 设置大小限制(推荐)

logrotate 配置文件一般在:

/etc/logrotate.d/rsyslog

示例配置(限制大小和保留数量):

/var/log/syslog
{
    size 100M
    rotate 5
    missingok
    notifempty
    compress
    delaycompress
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate 2>/dev/null || true
    endscript
}

说明:

  • size 100M:日志达到 100MB 就轮转
  • rotate 5:最多保留 5 个旧日志
  • compress:压缩旧日志

修改后测试:

sudo logrotate -d /etc/logrotate.d/rsyslog

3️⃣ 手动限制当前 syslog 大小(临时)

sudo truncate -s 0 /var/log/syslog

⚠️ 不推荐长期使用,仅用于紧急清理。


二、systemd-journald(journalctl)

如果你使用的是 journalctl 查看日志:

1️⃣ 查看当前 journal 占用

journalctl --disk-usage

2️⃣ 设置 journal 日志大小限制

编辑配置文件:

sudo nano /etc/systemd/journald.conf

设置:

[Journal]
SystemMaxUse=200M
SystemMaxFileSize=50M
MaxRetentionSec=1week

常用参数说明:

  • SystemMaxUse:journal 最大占用磁盘
  • SystemMaxFileSize:单个文件大小
  • MaxRetentionSec:日志保留时间

重启服务生效:

sudo systemctl restart systemd-journald

三、快速对比

方式 配置文件 控制方式
rsyslog /etc/logrotate.d/rsyslog 按大小 / 时间轮转
journald /etc/systemd/journald.conf 限制总磁盘使用

四、推荐做法 ✅

  • 服务器环境
    ✅ 使用 logrotate 限制 /var/log/syslog
  • 容器 / 桌面系统
    ✅ 使用 journald 限制大小
  • 避免日志无限增长
    ✅ 同时设置大小和保留数量

如果你愿意,可以告诉我:

  • Ubuntu 版本(22.04 / 20.04
  • 是服务器还是桌面
  • 想限制到多大

我可以帮你给出最合适的一套配置

0