在 Ubuntu 中,系统日志(syslog)的路径修改取决于你使用的是 rsyslog(最常见)还是 systemd-journald。下面分情况说明。
默认情况下,日志一般存放在:
/var/log/syslog
/var/log/messages # 有些版本可能没有
sudo vim /etc/rsyslog.conf
或:
sudo vim /etc/rsyslog.d/50-default.conf
例如,将 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
sudo mkdir -p /data/logs
sudo chown syslog:adm /data/logs
sudo chmod 755 /data/logs
sudo systemctl restart rsyslog
systemd 的日志路径 不能直接改为任意目录,但可以做相关调整。
/var/log/journal
(如果不存在,则存储在 /run/log/journal,重启后丢失)
编辑:
sudo vim /etc/systemd/journald.conf
关键配置:
[Journal]
Storage=persistent
# 可选
RuntimeMaxUse=100M
SystemMaxUse=500M
然后:
sudo systemctl restart systemd-journald
⚠️ 不能直接把 journal 日志改到 /data/logs 之类目录,这是 systemd 的限制。
如果你只是想“把日志存到别的地方”:
见 第一部分
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查看 rsyslog 状态:
sudo systemctl status rsyslog
| 方式 | 推荐程度 | 说明 |
|---|---|---|
| 修改 rsyslog 配置 | ⭐⭐⭐⭐⭐ | 最标准、最稳定 |
| 修改 journald | ⭐⭐ | 只能调大小,不能改路径 |
| 软链接 | ⭐⭐⭐ | 简单但不够规范 |
如果你能告诉我:
22.04 / 20.04 / 18.04)我可以给你更精确的配置示例。