温馨提示×

怎么修改Debian syslog

小樊
44
2026-07-07 21:03:37
栏目: 智能运维

在 Debian 系统中,syslog 的修改主要涉及 rsyslog(Debian 默认使用的 syslog 服务)。下面按常见需求给你一个完整说明。


一、确认你使用的是 rsyslog

ps -ef | grep rsyslog

systemctl status rsyslog

如果你看到 rsyslogd,说明是 rsyslog。


二、修改 syslog 配置文件

1️⃣ 主配置文件

/etc/rsyslog.conf

这是 rsyslog 的主配置,一般不建议直接大改,只做全局调整。

2️⃣ 模块化配置文件(推荐)

/etc/rsyslog.d/*.conf

Debian 推荐在这里新建或修改规则,例如:

sudo vim /etc/rsyslog.d/10-custom.conf

三、常见修改场景

✅ 1. 修改日志保存位置

例如:把 auth 日志单独存到 /var/log/auth.log

auth.*    /var/log/auth.log

✅ 2. 修改日志级别(过滤日志)

只记录 info 及以上级别:

*.info    /var/log/messages

排除某些日志:

mail.*    ~

(表示丢弃 mail 日志)


✅ 3. 远程 syslog(发送到日志服务器)

客户端配置

*.* @@192.168.1.100:514
  • @ = UDP
  • @@ = TCP

服务端开启接收

编辑 /etc/rsyslog.conf

module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")

✅ 4. 修改日志轮转(logrotate)

rsyslog 本身不负责轮转,由 logrotate 管理。

配置文件:

/etc/logrotate.d/rsyslog

示例:

/var/log/syslog
{
    rotate 7
    daily
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate 1>/dev/null 2>&1 || true
    endscript
}

四、重启 rsyslog 生效

sudo systemctl restart rsyslog

查看状态:

systemctl status rsyslog

五、查看 syslog 日志

tail -f /var/log/syslog

或按服务查看:

journalctl -u rsyslog

六、如果你用的是 systemd-journald(无 rsyslog)

Debian 也可以只用 journald:

journalctl

关闭 rsyslog:

sudo systemctl disable --now rsyslog

七、常见排错

syslog 没写入?

  • 检查磁盘空间:df -h
  • 检查权限:ls -l /var/log/syslog
  • 查看 rsyslog 报错:
    journalctl -u rsyslog
    

如果你能具体说明你想 改什么(比如:改路径、改级别、远程发送、关闭 syslog、Docker 环境等),我可以给你更精确的配置示例。

0