CentOS Syslog日志备份与恢复技巧
一 核心原则与准备
二 本地备份方法
sudo cp /var/log/messages /backup/syslog/messages_$(date +\%F).baksudo tar -czvf /backup/syslog/$(date +\%F)-syslog.tar.gz /var/log/messages /var/log/secure /var/log/syslog 2>/dev/nullsudo rsync -av /var/log/{messages,secure,syslog} /backup/syslog/sudo rsync -avz /var/log/messages user@remote:/backup/syslog/0 2 * * * tar -czf /backup/syslog/$(date +\%F)-messages.tar.gz /var/log/messages/var/log/messages /var/log/secure /var/log/syslog {
daily
rotate 30
compress
missingok
notifempty
create 0640 root adm
postrotate
/usr/bin/systemctl reload rsyslog >/dev/null 2>&1 || true
endscript
}
sudo logrotate -f /etc/logrotate.d/syslog三 远程集中备份与高可用
module(load="imtcp") 与 input(type="imtcp" port="514")if $fromhost-ip == '192.168.1.10' then /var/log/client/192.168.1.10.logsudo systemctl restart rsyslog;如有防火墙,放行 514/tcp。*.* @@192.168.1.100:514sudo systemctl restart rsyslog四 恢复与应急
sudo tar -xzvf /backup/syslog/2026-01-10-syslog.tar.gz -C /var/log/sudo cp /backup/syslog/messages_2026-01-10.bak /var/log/messagessudo chown root:adm /var/log/messages && sudo chmod 0640 /var/log/messagessudo systemctl reload rsysloglsof | grep deleted | grep /var/log/messagessudo cp /proc/<PID>/fd/<FD> /var/log/messagessudo extundelete /dev/sdXY --restore-file /var/log/messagestail -f /var/log/messages 与 logger "syslog recovery test" 确认写入正常。五 最佳实践与排错清单