温馨提示×

ubuntu syslog如何改路径

小樊
45
2026-09-08 02:49:20
栏目: 智能运维

在 Ubuntu 中,syslog 通常由 rsyslog(较老版本)或 syslog-ng(较少见)或 systemd-journald + rsyslog 组合来管理。下面分情况说明如何修改 syslog 日志路径


一、使用 rsyslog(最常见)

1. 查看当前配置

Ubuntu 默认使用 rsyslog:

ps aux | grep rsyslog

配置文件在:

/etc/rsyslog.conf
/etc/rsyslog.d/*.conf

2. 修改日志路径

编辑配置文件:

sudo vim /etc/rsyslog.conf

找到类似:

*.*;auth,authpriv.none -/var/log/syslog

修改为新的路径,例如:

*.*;auth,authpriv.none -/data/logs/syslog

也可以只改特定日志:

auth.*      /data/logs/auth.log

3. 创建目录并授权

sudo mkdir -p /data/logs
sudo chown syslog:adm /data/logs
sudo chmod 755 /data/logs

4. 重启 rsyslog

sudo systemctl restart rsyslog

5. 验证

ls -l /data/logs/

二、修改默认 /var/log 路径(整体迁移)

如果你想整体把 /var/log 换地方

方法 1:修改 rsyslog 配置(推荐)

如上,逐个修改路径。

方法 2:挂载方式(高级)

sudo mv /var/log /data/var_log
sudo ln -s /data/var_log /var/log

或:

sudo mount --bind /data/var_log /var/log

⚠️ 不推荐新手使用,可能影响系统稳定性。


三、systemd-journald(journalctl)

Ubuntu 的日志还有一部分来自 journald

修改 journal 日志路径

编辑:

sudo vim /etc/systemd/journald.conf

修改:

Storage=persistent
RuntimeDirectory=/data/journal

然后:

sudo mkdir -p /data/journal
sudo systemctl restart systemd-journald

查看:

journalctl

四、syslog-ng(少数情况)

如果你用的是 syslog-ng:

sudo vim /etc/syslog-ng/syslog-ng.conf

修改:

destination d_syslog { file("/data/logs/syslog"); };

重启:

sudo systemctl restart syslog-ng

五、常见问题

1. 改了不生效?

  • 是否重启 rsyslog
  • 是否权限错误
  • 是否被 /etc/rsyslog.d/ 覆盖

2. 日志不写?

tail -f /var/log/syslog
journalctl -u rsyslog

如果你能告诉我:

  • Ubuntu 版本
  • 用的是 rsyslog / syslog-ng / journald
  • 想改哪个日志(syslog / auth.log / 全部)

我可以给你精确配置示例

0