在 Linux 系统中,备份系统日志通常是指备份 /var/log 目录下的日志文件,以及可能由 systemd journal(journalctl)管理的日志。下面按常见场景给你几种做法。
sudo tar -czf /backup/logs-$(date +%F).tar.gz /var/log
/backup/ 换成你的备份目录cron 定时执行例如只备份最近 7 天:
sudo find /var/log -type f -mtime -7 | tar -czf logs-recent.tar.gz -T -
如果你的系统使用 journald(大多数现代发行版):
sudo journalctl --disk-usage
默认在:
/var/log/journal/
sudo tar -czf journal-$(date +%F).tar.gz /var/log/journal
sudo journalctl > journal-$(date +%F).log
或二进制格式(可回放):
sudo journalctl --output=export > journal-$(date +%F).export
sudo rsync -a --delete /var/log/ /backup/logs/
优点:
编辑定时任务:
sudo crontab -e
每天凌晨 2 点备份:
0 2 * * * tar -czf /backup/logs-$(date +\%F).tar.gz /var/log
权限问题
日志通常需要 root 权限读取
日志轮转(logrotate)
建议先执行:
sudo logrotate -f /etc/logrotate.conf
再备份,避免不完整文件
敏感信息
日志可能包含 IP、用户名等,备份时注意加密或权限控制
如果你能告诉我:
我可以给你更精确的方案。