rsync是Linux文件同步与备份的核心工具,支持增量同步、断点续传、保留元数据、SSH加密传输及灵活过滤,适用于本地、远程及异地备份场景。
服务器文件同步与备份不是选“同步”还是“备份”,而是根据场景组合使用:同步解决多节点数据一致性,备份解决容灾与历史回溯。核心在于分清目的——要的是“实时可用副本”,还是“可恢复的历史快照”,或是两者都要。
同步强调两端内容一致,变更即生效;备份强调保留历史版本,防误删、勒索、逻辑错误。
不用堆功能,选稳定、易维护、权限可控的组合:
rsync -avz --delete /var/www/ [email protected]:/backup/www/
加--delete确保目标端严格镜像源端;加--exclude='cache/'跳过临时目录
tar -czf /backup/etc-$(date +%Y%m%d).tar.gz /etc
配合find自动清理30天前旧包,避免磁盘撑满
很多失败不是工具不行,而是忽略基础配置:
rsync /data/ user@host:/dst/ 同步data目录下内容;rsync /data user@host:/dst/ 则把整个data目录(含名字)复制过去-a(归档模式),但若目标端用户不同,需加--chown=www:www或同步后手动chownssh user@host "ls -l /dst | wc -l"比对文件数,或用md5sum抽样比对关键文件不强求装rsync,优先用原生可靠方案:
robocopy D:web backup-serverwww /MIR /Z /R:3 /LOG:C:logweb-sync.log
不复杂但容易忽略:同步和备份都得配监控——哪怕只是发个邮件通知成功与否。没反馈的自动化,等于没做。