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 中存在的文件会被 删除
  • 显示每个文件的传输进度;
  • 使用压缩提升传输效率(尤其是远程同步时);

使用注意

  • 如果 xy 是本地路径,需要确保目标路径格式正确(例如 /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/ 下所有内容同步到远程;
  • 保持原样属性;
  • 远程多余文件会被删除;
  • 带进度显示