scp 断点续传

scp 是通过ssh协议传输数据,经常用在不同机子上的文件拷贝,但如果的是传输一个很大的数据,有可能遇到服务器断开什么的悲剧问题,或者出现完全无速度的stalled状态,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:

rsync -P --rsh=ssh xxx.tar 192.168.0.34:/tmp/xxx.tar


-P: 是包含了 “–partial –progress”, 部分传送和显示进度
-rsh=ssh 表示使用ssh协议传送数据
如果不想每次都使用 rsync -P rsh=ssh 之类的,可以增加alias

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


那么下次就可以直接使用

scpr xxx.tar 192.168.0.34:/tmp/xxx.tar


来拷贝数据了。

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

执行rsync过程中,如果时间需要比较久,我们可以把这个job放入后台执行

rsync -P --rsh=ssh xxx.tar 192.168.0.34:/tmp/xxx.tar &


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

如果不希望受到因为secureCRT类似的终端中断影响,那么可以考虑使用screen:
后台挂起运行 screen 命令的使用
0 分享

要回复文章请先登录注册