在 Ubuntu 里,“syslog 转储”通常指 日志轮转(log rotation)、导出备份 或 集中转发。下面分几种常见场景说明。
Ubuntu 默认使用 rsyslog + logrotate。
cat /etc/logrotate.d/rsyslog
常见内容:
/var/log/syslog
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
logrotate -f /etc/logrotate.d/rsyslog
rotate 4:保留 4 个旧文件weekly / daily:轮转周期compress:压缩旧日志size 100M:超过大小就转储示例(按大小):
/var/log/syslog {
size 100M
rotate 5
compress
missingok
notifempty
postrotate
systemctl kill -s HUP rsyslog
endscript
}
cp /var/log/syslog /backup/syslog-$(date +%F).log
truncate -s 0 /var/log/syslog
或
: > /var/log/syslog
⚠️ 不要直接 rm,rsyslog 可能仍占用文件。
编辑:
/etc/rsyslog.conf
添加:
*.* @@192.168.1.100:514
重启:
systemctl restart rsyslog
module(load="imtcp")
input(type="imtcp" port="514")
Ubuntu 20.04+ 很多日志在 journalctl。
journalctl -o short > syslog-export.log
/etc/systemd/journald.conf
SystemMaxUse=500M
MaxRetentionSec=2week
| 需求 | 方案 |
|---|---|
| 自动按天/大小转储 | logrotate |
| 备份日志 | cp + cron |
| 远程存储 | rsyslog 转发 |
| 审计合规 | logrotate + 远程 |
| 磁盘爆了 | size + compress |
如果你能说明:
我可以直接给你一份可复制的配置。