温馨提示×

debian syslog怎样轮转

小樊
56
2026-09-02 15:11:10
栏目: 智能运维

在 Debian 系统中,syslog 的轮转通常是通过 logrotate 工具来完成的。下面从「原理 → 配置 → 手动/自动执行 → 常见问题」给你说明。


一、Debian 中 syslog 日志文件位置

常见 syslog 日志文件:

/var/log/syslog
/var/log/messages
/var/log/auth.log
/var/log/kern.log

如果使用的是 rsyslog(Debian 默认):

dpkg -l | grep rsyslog

二、logrotate 如何轮转 syslog

Debian 的 logrotate 主配置文件:

/etc/logrotate.conf

syslog 相关配置一般在这里:

/etc/logrotate.d/rsyslog

示例(默认 rsyslog 配置)

/var/log/syslog
{
    rotate 7
    daily
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
{
    rotate 4
    weekly
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

三、常用轮转参数说明

参数 含义
daily 每天轮转
weekly 每周轮转
monthly 每月轮转
rotate N 保留 N 个旧日志
compress 压缩旧日志
delaycompress 延迟一轮再压缩
missingok 日志不存在不报错
notifempty 空日志不轮转
postrotate ... endscript 轮转后执行命令(如重启 syslog)

四、让 syslog 重新打开日志文件(重要)

syslog 是持续写文件的进程,轮转后必须通知它重新打开日志:

postrotate
    /usr/lib/rsyslog/rsyslog-rotate
endscript

或传统方式:

postrotate
    systemctl kill -s HUP rsyslog
endscript

五、手动测试 logrotate

1️⃣ 强制轮转 syslog

logrotate -f /etc/logrotate.d/rsyslog

2️⃣ 模拟执行(不真正轮转)

logrotate -d /etc/logrotate.d/rsyslog

3️⃣ 查看是否成功

ls -lh /var/log/syslog*

六、logrotate 什么时候自动执行?

Debian 中由 cron / systemd timer 触发:

/etc/cron.daily/logrotate

或:

systemctl status logrotate.timer

通常 每天执行一次。


七、常见问题

❌ 日志不轮转

检查:

logrotate -d /etc/logrotate.d/rsyslog

❌ syslog 还在写旧文件

确认 postrotate 生效,或手动:

systemctl restart rsyslog

❌ 磁盘爆满

可改为:

size 100M

超过 100M 就轮转。


八、自定义示例(按大小轮转)

/var/log/syslog
{
    size 50M
    rotate 10
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        systemctl kill -s HUP rsyslog
    endscript
}

如果你用的是 syslog-ng / journald / 容器环境,配置方式会不同,可以告诉我你的具体环境,我给你针对性方案。

0 踩