在 Debian 系统中,syslog 服务通常由 rsyslog 提供(Debian 默认使用 rsyslog)。下面从安装、配置、日志位置、常见示例、重启与排错几个方面说明如何配置 Debian 的 syslog。
大多数 Debian 已默认安装:
dpkg -l | grep rsyslog
如未安装:
sudo apt update
sudo apt install rsyslog
启动并设置开机自启:
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
查看状态:
systemctl status rsyslog
/etc/rsyslog.conf
/etc/rsyslog.d/
系统会按字母顺序加载该目录下的 .conf 文件。
典型规则格式:
facility.priority action
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/mail.log
| facility | 含义 |
|---|---|
| auth / authpriv | 认证相关 |
| cron | 定时任务 |
| daemon | 守护进程 |
| kern | 内核 |
| 邮件 | |
| user | 用户程序 |
| local0–local7 | 自定义 |
debug < info < notice < warning < err < crit < alert < emerg
| 日志 | 路径 |
|---|---|
| 系统通用 | /var/log/syslog |
| 启动相关 | /var/log/messages |
| 认证 | /var/log/auth.log |
| 定时任务 | /var/log/cron.log |
| 邮件 | /var/log/mail.log |
Debian 默认 系统日志通常在
/var/log/syslog
sudo nano /etc/rsyslog.d/ssh.conf
:programname, isequal, "sshd" /var/log/ssh.log
& stop
重启 rsyslog:
sudo systemctl restart rsyslog
编辑 /etc/rsyslog.conf:
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
重启后,Debian 可作为日志服务器。
*.* @@192.168.1.10:514
@ = UDP@@ = TCPrsyslog 本身不负责轮转,由 logrotate 管理:
/etc/logrotate.d/rsyslog
示例:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate 1>/dev/null || true
endscript
}
logger "This is a test syslog message"
查看:
tail -f /var/log/syslog
systemctl status rsyslog
journalctl -u rsyslog
rsyslogd -N1
确保日志目录可写:
ls -ld /var/log
Debian 12 中:
查看 journal:
journalctl
journalctl -u ssh
✅ Debian 默认使用 rsyslog
✅ 配置文件在 /etc/rsyslog.conf 和 /etc/rsyslog.d/
✅ 支持本地、远程、分类、集中日志
✅ 配合 logrotate 管理日志大小
如果你需要:
可以告诉我你的具体使用场景,我可以给你更精确的配置。