用 rsync 做增量备份:常用参数与避坑

举报
yd_240997615 发表于 2026/11/04 08:59:20 2026/11/04
【摘要】 rsync 是 Linux 下最常用的同步与备份工具,它的核心优势是增量传输:只传源和目标之间有差异的部分,第二次跑同一命令时速度会快很多,本地拷贝和远程备份都能用。最常见的用法是 rsync -avh --progress 源目录 目标目录。其中 -a 是归档模式,保留权限、时间戳和软链接,基本必带;-v 输出详细过程;-h 让文件大小以人类可读的单位显示;–progress 显示每个文件...

rsync 是 Linux 下最常用的同步与备份工具,它的核心优势是增量传输:只传源和目标之间有差异的部分,第二次跑同一命令时速度会快很多,本地拷贝和远程备份都能用。

最常见的用法是 rsync -avh --progress 源目录 目标目录。其中 -a 是归档模式,保留权限、时间戳和软链接,基本必带;-v 输出详细过程;-h 让文件大小以人类可读的单位显示;–progress 显示每个文件的传输进度。跨机器备份加上 -z 压缩传输,并用 -e ssh 走 SSH 通道,例如 rsync -avhz -e ssh /data/ user@host:/backup/data/,既加密又不用额外开端口。

几个高频参数值得记住:–exclude 用来排除不需要备份的内容,如 --exclude=‘*.log’ 或 --exclude=‘.cache/’,可以写多次;–delete 让目标与源严格一致,源里删掉的文件目标也删;-n 或 --dry-run 是空跑模式,只显示会做什么不真执行。

用 rsync 做备份最容易踩的坑,排第一的是路径末尾的斜杠:rsync -a /data /backup/ 会把 data 目录本身拷进 backup,而 rsync -a /data/ /backup/ 是把 data 里面的内容拷进 backup,两者结果差一层目录,写脚本前先想清楚要哪种。第二是 --delete 与空目录的风险:如果源路径写错、写成一个空目录,再带上 --delete,会把目标里的备份一起清掉,所以带 --delete 的命令第一次跑务必先加 --dry-run 看一遍将要删除和传输的清单,确认无误再真跑。第三是权限与属主:在普通用户权限下跑 -a 时属主信息可能保不住,需要 root 属主时就用 sudo,并确认目标文件系统支持相应的元数据。

日常使用可以把一条带 --dry-run 验证过的命令写进脚本,再配合定时任务执行。总结起来:-a 保属性、–exclude 做减法、–delete 先空跑、斜杠分清目录层级,这四点掌握了,rsync 就能稳妥地承担起个人服务器的日常备份。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。