rsync传输数据到开发机

向英博云平台的开发机传输数据时,如果对断点续传有比较高的要求,建议使用rsync传输。

对于文件夹包含大量小文件且网络带宽有限,rsync的增量传输和断点续传功能可以有效减少带宽使用和传输时间。

准备工作

本地机器安装rsync

本地机器安装了rsync才能通过本地将数据传输到开发机,以mac为例,安装命令如下:

brew install rsync

获取开发机SSH连接信息

获取开发机远程连接的SSH信息,用于填写传输信息,在开发机列表页面,单击列表右侧操作列的 远程连接 按钮。

示例:

ssh -p 38710 root@ssh-cn-huabei1.ebcloud.com
  • 38710:端口号
  • root:用户名
  • ssh-cn-huabei1.ebcloud.com:host

开发机安装rsync

以ubuntu系统为例,开发机终端安装rsync命令如下:

apt-get update && apt-get install -y rsync

使用rsync传输数据

传输单个文件

💡 注意
1. rsync 默认支持断点续传功能。如果传输过程中断,只需再次运行相同的 rsync 命令,它会自动从中断处继续传输。
2. 建议源端与目标端 rsync 版本保持一致,防止版本不一致导致从头传输。
rsync -avzP --partial-dir=.rsync-partial -e "ssh -p PORT" /Users/xiaoyang/config username@hostname:/root/data/
  • -a:归档模式,保留文件属性
  • -v:详细输出
  • -z:压缩传输数据
  • -P:显示进度并支持断点续传
  • --partial-dir=.rsync-partial:将部分传输的文件保存在指定目录
  • ssh -p PORT:链接开发机的ssh端口号
  • /Users/xiaoyang/config:本地待传输文件
  • username@hostname:传输目标开发机的username和host,例如root和ssh-cn-huabei1.ebcloud.com
  • /root/data:传输目标开发机的目录

传输整个文件夹目录

💡 注意
注意源目录路径末尾没有斜杠 /。如果加上 /,表示要传输目录的内容而不是目录本身。
rsync -avzP --partial-dir=.rsync-partial -e "ssh -p PORT" /Users/xiaoyang/config username@hostname:/root/data/