在 Ubuntu 中,syslog 通常由 rsyslog(较老版本)或 syslog-ng(较少见)或 systemd-journald + rsyslog 组合来管理。下面分情况说明如何修改 syslog 日志路径。
Ubuntu 默认使用 rsyslog:
ps aux | grep rsyslog
配置文件在:
/etc/rsyslog.conf
/etc/rsyslog.d/*.conf
编辑配置文件:
sudo vim /etc/rsyslog.conf
找到类似:
*.*;auth,authpriv.none -/var/log/syslog
修改为新的路径,例如:
*.*;auth,authpriv.none -/data/logs/syslog
也可以只改特定日志:
auth.* /data/logs/auth.log
sudo mkdir -p /data/logs
sudo chown syslog:adm /data/logs
sudo chmod 755 /data/logs
sudo systemctl restart rsyslog
ls -l /data/logs/
如果你想整体把 /var/log 换地方:
如上,逐个修改路径。
sudo mv /var/log /data/var_log
sudo ln -s /data/var_log /var/log
或:
sudo mount --bind /data/var_log /var/log
⚠️ 不推荐新手使用,可能影响系统稳定性。
Ubuntu 的日志还有一部分来自 journald:
编辑:
sudo vim /etc/systemd/journald.conf
修改:
Storage=persistent
RuntimeDirectory=/data/journal
然后:
sudo mkdir -p /data/journal
sudo systemctl restart systemd-journald
查看:
journalctl
如果你用的是 syslog-ng:
sudo vim /etc/syslog-ng/syslog-ng.conf
修改:
destination d_syslog { file("/data/logs/syslog"); };
重启:
sudo systemctl restart syslog-ng
/etc/rsyslog.d/ 覆盖tail -f /var/log/syslog
journalctl -u rsyslog
如果你能告诉我:
我可以给你精确配置示例。