在 Debian 系统中,syslog 的修改主要涉及 rsyslog(Debian 默认使用的 syslog 服务)。下面按常见需求给你一个完整说明。
ps -ef | grep rsyslog
或
systemctl status rsyslog
如果你看到 rsyslogd,说明是 rsyslog。
/etc/rsyslog.conf
这是 rsyslog 的主配置,一般不建议直接大改,只做全局调整。
/etc/rsyslog.d/*.conf
Debian 推荐在这里新建或修改规则,例如:
sudo vim /etc/rsyslog.d/10-custom.conf
例如:把 auth 日志单独存到 /var/log/auth.log
auth.* /var/log/auth.log
只记录 info 及以上级别:
*.info /var/log/messages
排除某些日志:
mail.* ~
(表示丢弃 mail 日志)
*.* @@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")
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
}
sudo systemctl restart rsyslog
查看状态:
systemctl status rsyslog
tail -f /var/log/syslog
或按服务查看:
journalctl -u rsyslog
Debian 也可以只用 journald:
journalctl
关闭 rsyslog:
sudo systemctl disable --now rsyslog
df -hls -l /var/log/syslogjournalctl -u rsyslog
如果你能具体说明你想 改什么(比如:改路径、改级别、远程发送、关闭 syslog、Docker 环境等),我可以给你更精确的配置示例。