如何使用 rsync 工具实现 Linux 目录的高效同步与备份

rsync 默认是镜像同步而非备份工具,需区分同步(用–delete)与备份(禁用–delete,配合–backup或–link-dest),并正确使用-a、路径斜杠、SSH免密及–dry-run验证。

如何使用 rsync 工具实现 linux 目录的高效同步与备份

rsync 不是“开箱即用”的备份工具,它默认做的是镜像同步——源删,目标跟着删;不加额外控制,也不会留历史版本。要真正实现高效同步与可靠备份,得明确区分用途,并配对使用关键参数。

区分同步与备份:选对模式再动手

同步强调两端一致,备份强调保留历史。同一命令稍作调整,效果完全不同:

  • 日常同步(镜像):用 rsync -av --delete,确保目标完全复刻源,删掉多余文件,适合配置目录、网站根目录等需强一致性场景。
  • 安全备份(留痕):禁用 --delete,改用 --backup --suffix=.bak 或更推荐的 --link-dest 快照机制,避免误删,还能回溯多个时间点。

本地高效同步:注意路径斜杠和权限保留

本地操作最易出错的是路径写法和元数据丢失:

  • 源路径末尾带 /(如 /data/src/),表示同步内容;不带(如 /data/src),会把整个 src 目录复制进去。
  • 必须用 -a(归档模式),它自动包含递归、权限、时间戳、软链接等关键属性;单独拼 -rlptgoD 容易漏项。
  • 若要跳过日志或临时文件,加 --exclude='*.log' --exclude='cache/',支持多次使用,也支持从文件读规则:--exclude-from=/etc/rsync-exclude.conf

远程备份:SSH 加密 + 免密登录是基础

跨机器传输必须保障安全与自动化:

  • 所有远程操作默认走 SSH,命令里不用显式写 ssh,例如:rsync -avz /local/ user@host:/remote/,其中 -z 自动压缩传输数据。
  • 务必配置 SSH 免密登录(ssh-copy-id),否则 cron 定时任务会卡在密码输入环节。
  • 如服务器 SSH 端口非 22,用 -e "ssh -p 2222" 指定,避免连接失败。

增量备份进阶:用 –link-dest 省空间又留版本

这是生产环境最实用的备份方式,每次备份生成独立目录,相同文件硬链接复用,磁盘占用接近单份大小:

  • 首次备份:rsync -a /data/ /backup/2026-06-13/
  • 次日备份:rsync -a --link-dest=/backup/2026-06-13/ /data/ /backup/2026-06-14/
  • 后续只需更新 --link-dest 指向上一个最新快照目录即可;删除旧快照前确认无硬链接依赖(ls -i 查 inode 是否唯一)。

不复杂但容易忽略:备份前先测试命令加 --dry-run,看输出是否符合预期;每次执行后检查返回值($? 是否为 0)和日志,别让 cron 默默失败。

文章来自机圈观察员网,发布者:,转载请注明出处:https://www.jqgcy.com/shoujipingce/120775.html

【2022】iPad白苹果的3个简单修复方法!
上一篇 2026-06-25 18:07
5种修复iOS 10中的Safari崩溃/冻结问题的方法
下一篇 2026-06-25 18:07

相关推荐