已复制到剪贴板

rsync

rsync 是一个命令行实用程序,用于在本地或远程计算机之间同步文件和目录。它可以让您更新两个位置之间的文件,仅复制更改的部分并删除任何已删除的文件。它还可以通过SSH安全地传输文件。

本地同步文件和目录

远程同步文件和目录

例:ssh -p 22

例子

1. 本地同步文件和目录

source_directory/ 目录同步到 destination_directory/

rsync -avh source_directory/ destination_directory/

其中,-a--archive 是一个快捷选项,等价于 -rlptgoD。它表示要将文件和目录以递归方式同步,并保留文件元数据(权限、时间戳等)。

  • v-verbose 表示输出冗长的信息。
  • h-human-readable 表示以易读的方式显示文件大小。

2. 远程同步文件和目录

将本地 source_directory/ 目录同步到远程主机的 destination_directory/

rsync -avh source_directory/ user@remote_host:/path/to/destination_directory/

其中,user 是远程主机的用户名。

3. 通过 SSH 安全传输文件

将本地 source_directory/ 目录同步到远程主机的 destination_directory/,并使用 SSH 进行安全传输:

rsync -avh -e 'ssh -p port_number' source_directory/ user@remote_host:/path/to/destination_directory/

其中,port_number 是 SSH 服务器的端口号。

4. 删除目标端没有的文件

在同步时,删除目标端没有的文件:

rsync -avh --delete source_directory/ destination_directory/

5. 排除指定的文件和目录

在同步时,排除指定的文件和目录:

rsync -avh --exclude 'file.txt' --exclude 'directory/' source_directory/ destination_directory/

6. 压缩传输

在传输时,压缩文件以减少带宽占用:

rsync -avh -z source_directory/ destination_directory/

其中,-z--compress 表示启用压缩传输。

7. 限制带宽

在传输时,限制带宽为 100 KB/s:

rsync -avh --bwlimit=100 source_directory/ destination_directory/

8. 测试运行

测试运行,不进行实际传输:

rsync -avh --dry-run source_directory/ destination_directory/

9. 显示传输进度

显示传输进度:

rsync -avh --progress source_directory/ destination_directory/