rsync远程同步--delete
强一致性同步–delete
1 | rsync -avzP --delete x y |
将文件/目录从
x同步到y
参数解释
| 参数 | 含义 |
|---|---|
-a |
archive 模式,等价于 -rlptgoD,保留符号链接、权限、时间戳、组、所有者、设备等 |
-v |
verbose,输出详细信息 |
-z |
传输时压缩数据(节省带宽) |
-P |
等价于 --partial --progress,显示进度条并保留中断的文件以便断点续传 |
--delete |
删除目标目录中源目录没有的文件(小心使用,会导致目标中多余的文件被删除) |
实际效果
- 将
x同步到y,保留各种属性; x中有但y中没有的文件会被复制过去;x中没有但y中存在的文件会被 删除;- 显示每个文件的传输进度;
- 使用压缩提升传输效率(尤其是远程同步时);
使用注意
如果
x和y是本地路径,需要确保目标路径格式正确(例如/path/to/dir/最后/的有无会影响行为);若为远程同步,格式通常为:
1
rsync -avzP --delete /local/path/ user@remote:/remote/path/
- 注意
/local/path/末尾的/表示同步的是目录中的内容; - 若没有
/,表示包含整个目录本身。
- 注意
示例
1 | rsync -avzP --delete /data/backup/ root@192.168.1.10:/data/backup/ |
- 将
/data/backup/下所有内容同步到远程; - 保持原样属性;
- 远程多余文件会被删除;
- 带进度显示