在 Debian 系统中,日志备份通常围绕 /var/log 目录以及相关服务日志(如 journald、rsyslog、audit 等)进行。下面按常见场景给你一套实用方案。
tar czf /backup/logs-$(date +%F).tar.gz /var/log
tar czf /backup/logs-$(date +%F).tar.gz \
--exclude=/var/log/journal \
/var/log
Debian 默认使用 logrotate 管理日志轮转,也可以顺便做备份。
新建配置文件:
/etc/logrotate.d/mylogs
内容示例:
/var/log/myapp/*.log {
daily
missingok
rotate 7
compress
delaycompress
copytruncate
create 0640 root adm
postrotate
cp /var/log/myapp/*.log.1.gz /backup/logs/
endscript
}
说明:
copytruncate:不重启服务也能备份postrotate:可把轮转后的日志复制到备份目录Debian 使用 systemd-journald,日志在:
/var/log/journal
journalctl --disk-usage
tar czf /backup/journal-$(date +%F).tar.gz /var/log/journal
编辑:
/etc/systemd/journald.conf
SystemMaxUse=500M
MaxRetentionSec=30d
重启:
systemctl restart systemd-journald
crontab -e
每天凌晨 2 点备份:
0 2 * * * tar czf /backup/logs-$(date +\%F).tar.gz /var/log
rsync -az /var/log/ backupuser@backupserver:/backup/debian-logs/
适合长期保留多版本日志。
如果你的系统启用了审计:
/var/log/audit/audit.log
建议:
tar czf /backup/audit-$(date +%F).tar.gz /var/log/audit
并单独加密或异地保存。
| 项目 | 建议 |
|---|---|
| 本地保留 | 7–30 天 |
| 远程保留 | 3–12 个月 |
| 敏感日志 | 加密(gpg / age) |
| 大小控制 | journald + logrotate |
如果你愿意,可以告诉我:
我可以帮你写一套可直接用的备份脚本。