Rsync 文件同步速记:常用参数、增量备份与远程传输
【摘要】 把一台机器上的目录同步到另一台,很多人第一反应是打包再传,既慢又占空间。rsync 的思路不同:它只传变化的部分,第一次全量、之后增量,是做备份和发布最顺手的工具之一。本文把常用参数和典型场景整理成速记。 最基本的写法rsync -av 源目录/ 目标目录/注意源目录结尾的斜杠:带斜杠表示同步目录里面的内容,不带斜杠表示把目录本身也拷过去。这一个字符的差别是新手最常见的翻车点,写完先用 --...
把一台机器上的目录同步到另一台,很多人第一反应是打包再传,既慢又占空间。rsync 的思路不同:它只传变化的部分,第一次全量、之后增量,是做备份和发布最顺手的工具之一。本文把常用参数和典型场景整理成速记。
最基本的写法
rsync -av 源目录/ 目标目录/
注意源目录结尾的斜杠:带斜杠表示同步目录里面的内容,不带斜杠表示把目录本身也拷过去。这一个字符的差别是新手最常见的翻车点,写完先用 --dry-run 空跑一遍确认范围:
rsync -av --dry-run 源目录/ 目标目录/
常用参数速查
-a:归档模式,递归并保留权限、时间、软链接等属性,日常默认带上-v:显示同步过程,想看具体文件再加一个 v-z:传输时压缩,跨网络同步文本类文件时明显省流量-P:断点续传并显示进度,传大文件必备,等价于 --partial --progress--delete:让目标与源严格一致,源里删掉的文件目标也删除;做镜像备份才用,普通同步慎用,误删不回来--exclude:排除不需要同步的内容,比如--exclude='*.log'
远程同步
通过 SSH 传输时加 -e 指定通道,或者直接写成 user@host 形式,rsync 会默认走 SSH:
rsync -avz -P 本地目录/ user@192.168.1.10:/data/backup/
反过来把远程拉到本地,交换源和目标的位置即可。密钥免密登录配好之后,rsync 就能直接写进定时任务里无人值守地跑,这也是它和 cron 搭配最常见的用法:每天凌晨增量备份一次,日志重定向留痕。
增量为什么快
rsync 会先比较两端的文件列表,再用滚动校验算法找出文件内部真正变化的数据块,只传差异部分。日志、数据库导出这类每天只改一小部分的大文件,增量传输往往只要几秒。第一次同步没有便宜可占,老老实实全量传完,后面才吃得到增量的红利。
小结
记住三件事就够了:源路径的斜杠决定同步范围,先 --dry-run 再真跑,–delete 只在做镜像时开。把这三点做成习惯,rsync 基本不会给你惹麻烦。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)