rsync-命令的使用

参考 Archwiki

介绍

rsync, remote synchronization, 是一个 fast, versatile, remote (and local) file-copying tool.

工作原理

how-rsync-works
the rsync algorithm

注意两端都需要安装有 rsync 命令.

作为 cp/mv 命令来使用

在不同的 filesystems 中传输文件, 使用 rsync 的效率比 cpmv 更高, 语法为:

1
$ rsync -P source destination
  • -P 等同于开启 --partial--progress
  • --partial, 指在文件传输过程中, 如果发生中断或其他原因导致传输未完成, 这个选项会允许保留已经部分传输的文件, 在下一次重新启动传输时, rsync 会检测文件的传输状态, 并继续传输未完成的部分
  • --progress, 会显示传输的进度条

若想递归传输一个目录, 可用 -r/--recursive option.

文件传输默认用 SSH 协议, 指定 host 时可以直接用 ~/.ssh/config 中设置的 alias.

将 local file 传送到 remote server

1
$ rsync -P source host:destination

如:

1
$ rsync -P /tmp/hello root@192.168.177.24:/root/world

将 remote server file 复制到本地

1
$ rsync -P host:source destination

如:

1
$ rsync -P root@192.168.177.24:/root/world /tmp/hello

注意 trailing slash 问题

1
$ rsync -r source destination

的行为与:

1
$ rsync -r source/ destination

不同.

前者将本地的 source 目录下的文件复制到 destination/source 目录下 (不存在则创建). 后者会将 source 目录下的所有文件直接复制到 destination 目录下.

注意这些复制操作都会导致文件覆盖.


rsync-命令的使用
http://example.com/2024/04/03/rsync-命令的使用/
作者
Jie
发布于
2024年4月3日
许可协议