温馨提示×

怎么备份linux syslog

小樊
56
2026-10-07 15:36:12
栏目: 智能运维

在 Linux 上“备份 syslog”通常指备份系统日志文件,常见位置是 /var/log/ 下的 syslog、messages、auth.log 等。下面按常见场景给你几种做法。


一、直接备份日志文件(最常用)

1. 手动备份

cp /var/log/syslog /backup/syslog_$(date +%F).bak

或整体打包:

tar czf /backup/logs_$(date +%F).tar.gz /var/log

注意:日志可能正在被写入,建议用 rsync 或先 logrotate。


二、使用 logrotate(推荐,系统自带)

logrotate 会自动轮转并保留旧日志。

查看已有配置

cat /etc/logrotate.d/syslog

示例:自定义备份策略

/var/log/syslog {
    daily
    missingok
    rotate 30
    compress
    delaycompress
    copytruncate
}

应用测试:

logrotate -d /etc/logrotate.conf   # 调试
logrotate -f /etc/logrotate.conf   # 强制执行

三、远程备份(防止本机故障)

1. rsync 到备份服务器

rsync -avz /var/log/ backupuser@backupserver:/backup/logs/

2. 用 rsyslog 远程发送日志(实时)

编辑 /etc/rsyslog.conf:

*.* @@logserver:514

重启:

systemctl restart rsyslog

四、备份 journald 日志(systemd 系统)

如果是 journalctl:

journalctl > /backup/journal_$(date +%F).log

或导出二进制:

journalctl --disk-usage
journalctl --vacuum-size=500M

五、定时自动备份(cron)

crontab -e

每天凌晨备份:

0 2 * * * rsync -a /var/log/ /backup/logs/

总结建议

  • 普通备份:logrotate + rsync
  • 合规/安全:远程 syslog 服务器
  • 快速恢复:定期 tar 备份 /var/log

如果你告诉我:

  • 用的发行版(CentOS / Ubuntu / Debian)
  • 是否用 systemd
  • 想本地还是远程备份

我可以直接给你一套可用配置。

0 踩