rsync支持大文件断点续传
rsync提供了如下的参数
--partial
默认情况下,rsync传输中断后,将会删除所有传输了一部分的文件,重新传输。在某些情况下,用户可能会希望保留已经传输的内容,该参数告知rsync保留已经传输好的内容,使得剩余部分,可以继续传输
--partial-dir=DIR
保留已经传输的部分文件,且将内容保存到一个目录中,而不是立即写入到目标文件,
便于下次传输的时候,rsync使用该目录中的数据,再进行整体数据的传输和恢复,结束后删除该目录
案例
1、rsync数据同步,加上断点续传参数(如果数据传输到一半,突然中断,使用--partial-dir=DIR参数)且把数据保存在某个目录中,传输结束后,自动删除该目录
把客户端的/my_rsync/test1文件进行数据推送到rsync备份服务器上,且加上断点续传的功能,如果突然断开了传输,数据会保存在backup模块下的名为tmp的目录
rsync -avzP --partial-dir=/tmp/ /my_rsync/test1 rsync_backup@192.168.178.122::backup
使用dd命令快速生成1个G的文件
dd if=/dev/zero of=test1 bs=10M count=128
[root@yuweijie my_rsync]# rsync -avzP --partial-dir=/tmp/ /my_rsync/test1 rsync_backup@192.168.178.122::backupsending incremental file list
test1
300,056,576 22% 143.13MB/s 0:00:07 ^C
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(638) [sender=3.1.2]
[root@rsync backup]# ls
tmp
[root@rsync backup]# cd tmp/
[root@rsync tmp]# ls
test1
[root@rsync tmp]# ll -h
total 363M
-rw-r--r-- 1 rsync rsync 363M Mar 6 00:46 test1
下次再输入同样的命令就可以进行断点续传了