Linux 下用 rsync 做增量备份:先 dry-run 再正式同步的三步做法
问题场景
备份数据量大时,直接全量复制又慢又占空间,中途断掉还很难判断哪些文件已拷完。rsync 只传变化的部分,第一次全量、之后增量,还能保留权限和时间戳,适合备份网站目录和配置文件。下面是三步安全做法。
第一步:确认源目录、目标目录和斜杠含义
先用 ls -ld 确认两个目录存在,避免写错路径:
ls -ld /data/www /backup/www
注意斜杠含义:/data/www/ 是同步目录里面的内容,/data/www 则可能在目标下再建一个 www 子目录。备份前统一想清楚,并分清备份与恢复的方向,方向写反再配合删除选项很容易丢数据。
第二步:用 --dry-run 先演练
正式同步前先加 --dry-run(简写 -n)演练,只列变化、不真正写文件:
rsync -av --dry-run /data/www/ /backup/www/
逐条检查演练清单:有没有不该同步的日志、缓存;路径有没有写错;如果用了 --delete,会不会删掉目标里应保留的文件。有问题先用 --exclude 排除,例如:
rsync -av --dry-run --exclude='*.log' --exclude='cache/' /data/www/ /backup/www/
清单与预期一致,才能进入下一步。演练就是给正式同步上保险。
第三步:正式同步并验证可用
去掉 --dry-run 正式执行,-a 归档模式可保留权限、时间戳和符号链接:
rsync -av /data/www/ /backup/www/
只有确认源目录删除的文件也应在备份中删除时,才考虑加 --delete,且必须先在演练中确认删除清单。同步后要验证:用 du -sh 对比两边大小是否合理,再抽查几个关键文件确认内容一致。远程备份时把目标换成 user@host:/backup/www/ 即可,增量传输在带宽有限时优势更明显。
注意事项
第一,不要把唯一备份放在同一块磁盘上,磁盘故障会连源数据一起丢。第二,数据库不要只靠拷文件备份,正在写入的文件可能不一致,应先导出或快照,再同步导出文件。第三,定期做恢复演练,从备份里恢复一个文件到临时位置,确认真的能用,备份才算完成。第四,把命令写进定时任务时务必记录日志,出了问题才有据可查。
小结
先确认源、目标和斜杠含义,再用 --dry-run 演练核对清单,最后正式同步并抽查验证。把这三步固定下来,备份就成了一套可重复、可核查的操作习惯。
- 点赞
- 收藏
- 关注作者
评论(0)