使用rsync 命令 默认的情况下,当rsync传输中断后,新的rsync传输将删除所有的未完成的残余文件片段,然后开始新的传输。而使用--partial后,将会进行我们所说的断点续传。
值得注意的是-P这个参数是综合了--partial --progress两个参数,所以rsync的断点续传能用下面的例子来说明:
# rsync -avzP /tmp/bigfile user@ip:/tmp/bigfile
另外,还有两个参数也经常用到:
t:修改次数
r:递归方式
a: archive mode; v: verbose mode; z: 压缩传输; P: 断点续传+显示进度
如果ssh不是默认端口, 要加 -e 'ssh -p XXXX'
*********************************************************************************************
scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后,下次继续传,命令如下:
rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar
-P: 是包含了 “–partial –progress”, 部分传送和显示进度
-rsh=ssh 表示使用ssh协议传送数据
如果不想每次都使用 rsync -P rsh=ssh 之类的,可以写成alias scpr="rsync -P --rsh=ssh"
那么下次就可以直接使用 scpr home.tar 192.168.205.34:/home/home.tar 来拷贝数据了。
在传输过程中,目标文件会以.home.tar.xxxx文件也隐藏,可以用la -a来显示出来。如果scpr中断了,那么该文件会变成用户指定的目标文件"home.tar",下次传的时候又会改成.home.tar.xxxx文件。
执行rsync过程中,我们肯定希望把这个job放入后台执行,而不因为secureCRT类似的窗口中断受影响,那么在执行了
rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar, 再输出密码后,可以用ctrl+z 来中断,再使用bg命令让它在后台执行。如下图:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29302187/viewspace-2102269/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29302187/viewspace-2102269/