Skip to content

rsync

rsync是基于SSH传输文件工具。支持跳过重复文件和断点续传。

安装rsync

Linux 上一般不需要安装rsync。系统会自带该命令。 Windows 通过安装Cwgwin,会连带安装rsync。在官网在安装过程中选择rsync来完成安装。

注意以下界面,按图示选择。

win_rsync

安装后在powershell中输入rsync来验证安装成功。

使用示例

bash
# 建议传到/root/gpufree-data/下的数据盘地址
rsync -e "ssh -p <port>"  <本地文件路> root@<ip>:<port>:/root/gpufree-data/
bash
# 同步文件
rsync -vzr -e "ssh -p <port>" <本地文件路> root@<ip>:/root/gpufree-data/

SSH的地址、端口、密码,可以在参考这批文档 SSH

常用参数

  • -a, --archive:归档模式,表示以递归方式传输文件,并保持符号链接、权限、时间戳、组和所有权信息。
  • -v, --verbose:详细模式输出。
  • -z, --compress:压缩文件数据。
  • -r, --recursive:递归到目录中去。
  • -u, --update:跳过目标中更新的文件,只传输那些源比目标更新的文件。
  • -h, --human-readable:输出文件大小时,使用易读的格式(如 K、M)。
  • --delete:删除那些只存在于目标目录中的文件,使得源和目标目录内容一致。
  • -t 或 --times:保持文件时间戳,即文件的修改时间。
  • -o 或 --owner:保持文件的所有者信息,即文件的属主。
  • -p 或 --perms:保持文件的权限,即文件的读、写、执行权限。
  • -g 或 --group:保持文件的组信息,即文件的属组。
  • --progress:显示进度,即在传输文件时显示传输的进度条和传输速率。

示例

您可以将命令的源地址和目标地址调换,可以将远程文件下载回本地。

bash
rsync -avz -e "ssh -p <port>" "C:\Windows\pyw" root@192.168.19.5:/root/gpufree-data/

其他客户端

可以使用带有文件传输功能的SSH客户端,例如:

  • FileZilla (支持LinuxWindows)
  • XShell (商用软件,支持官方申请非商业免费试用)
  • Termius (非商用免费,一个很帅的SSH客户端工具。点击查看站内快速教程)