scp、rsync断点续传

it2022-05-05  196

scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,scp不支持断点续传,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:

rsync -P --rsh=ssh a.zip 192.168.1.2:/home/a.zip

-P: 是包含了 “–partial –progress”, 部分传送和显示进度

-rsh=ssh 表示使用ssh协议传送数据

如果不想每次都使用 rsync -P rsh=ssh 之类的,可以写成

alias scpr="rsync -P --rsh=ssh"

那么下次就可以直接使用 scpr a.zip 192.168.1.1:/home/a.zip 来拷贝数据了。

-e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了

rsync -P -e 'ssh -p 34778' a.zip 192.168.1.2:/home/a.zip

在传输过程中,目标文件会以.a.zip.xxxx文件也隐藏,可以用la -a来显示出来。如果scpr中断了,那么该文件会变成用户指定的目标文件"a.zip",下次传的时候又会改成.a.zip.xxxx文件。

执行rsync过程中,我们肯定希望把这个job放入后台执行,而不因为secureCRT类似的窗口中断受影响,那么在执行了

rsync -P --rsh=ssh a.zip 192.168.1.2:/home/a.zip

再输出密码后,可以用ctrl+z 来中断,再使用bg命令让它在后台执行。

bg %1

job查看状态变为+continue即可。


最新回复(0)