服务器经常需要备份,但是长时间的下载,难免会出现下载中断的情况。
一直使用scp
下载备份好的文件,以前数据量少的时候,直接重新下载就可以了。随着网站上数据越来越多,下载的时间越来越长,完全重新开始变得不现实了。有时候下载到90%
以上的时候,失败了,完全重传是没有必要的。
我们只需要下载缺失的部分就好了,幸运的是rsync
支持这种需求。
具体的做法是将如下的选项组合传递给rsync
,-checksum
(文件分块计算校验和,只传输校验和不一致的部分),-in-place
(将文件原地替换,因为rsync
通常会写一个临时文件,然后移动)和-no-whole-file
(告诉rsync
不要复制整个文件,而是使用deltas
(部分传输))。
例如:
下面是一个真实的例子:
整个过程非常的快,比完全重传快多了。
scp
命令拷贝文件非常好用,但在拷贝大文件时存在一个问题就是连接经常会断开,此时再使用scp
进行拷贝会重新拷贝文件,为了解决这个问题。我们可以使用rsync
命令来进行断点续传。命令如下:
为了使用方便可以设置alias
: