温馨提示×

Ubuntu syslog如何修改路径

小樊
38
2026-08-27 06:22:55
栏目: 智能运维

在 Ubuntu 中,系统日志(syslog)的路径修改取决于你使用的是 rsyslog(最常见)还是 systemd-journald。下面分情况说明。


一、使用 rsyslog(Ubuntu 默认)

1️⃣ 查看当前日志路径

默认情况下,日志一般存放在:

/var/log/syslog
/var/log/messages   # 有些版本可能没有

2️⃣ 修改日志保存路径

(1)编辑 rsyslog 配置文件

sudo vim /etc/rsyslog.conf

或:

sudo vim /etc/rsyslog.d/50-default.conf

(2)修改日志规则

例如,将 syslog 改为 /data/logs/syslog

找到类似:

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

修改为:

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

你也可以单独指定某类日志:

*.info;mail.none;authpriv.none;cron.none   /data/logs/messages

(3)创建新目录并设置权限

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

(4)重启 rsyslog

sudo systemctl restart rsyslog

二、使用 systemd-journald(journalctl)

systemd 的日志路径 不能直接改为任意目录,但可以做相关调整。

1️⃣ 默认路径

/var/log/journal

(如果不存在,则存储在 /run/log/journal,重启后丢失)

2️⃣ 修改 journal 存储位置(不推荐频繁改)

编辑:

sudo vim /etc/systemd/journald.conf

关键配置:

[Journal]
Storage=persistent
# 可选
RuntimeMaxUse=100M
SystemMaxUse=500M

然后:

sudo systemctl restart systemd-journald

⚠️ 不能直接把 journal 日志改到 /data/logs 之类目录,这是 systemd 的限制。


三、把日志转发到新目录(推荐做法)

如果你只是想“把日志存到别的地方”:

✅ 方法 1:修改 rsyslog 输出路径(最常用)

第一部分

✅ 方法 2:使用软链接(最简单)

sudo systemctl stop rsyslog
sudo mv /var/log/syslog /data/logs/syslog
sudo ln -s /data/logs/syslog /var/log/syslog
sudo systemctl start rsyslog

⚠️ 注意:某些程序可能不识别 symlink,不适合生产环境。


四、验证是否生效

ls -lh /data/logs/syslog
tail -f /data/logs/syslog

五、常见问题

❓ 修改后没生效?

  • 是否重启 rsyslog
  • 目录权限是否正确
  • AppArmor 是否限制(Ubuntu 常见)

查看 rsyslog 状态:

sudo systemctl status rsyslog

六、总结

方式 推荐程度 说明
修改 rsyslog 配置 ⭐⭐⭐⭐⭐ 最标准、最稳定
修改 journald ⭐⭐ 只能调大小,不能改路径
软链接 ⭐⭐⭐ 简单但不够规范

如果你能告诉我:

  • Ubuntu 版本(22.04 / 20.04 / 18.04
  • 你是 改 syslog 路径 还是 应用日志路径
  • 是否使用 Docker / 云平台

我可以给你更精确的配置示例。

0