scp和rsync基本用法与断点续传

在远程服务器和本地之间传输文件,可以使用scp命令,也可以使用rsync。本文记录了两个命令的用法。

scp和rsync对比:scp节约资源,系统负荷小,但断点续传是个问题;rsync速度更快,断点续传方便,但系统负荷大,尤其是传输很多文件的时候,硬盘I/O非常高。

scp

scp [OPTION] SRC DEST
常用参数:
-r:递归拷贝目录
-q:不显示进度
-l:限制传输带宽,单位是kbits/s
scp -r -l 200 /home/user/exampledir user@192.168.XXX.XXX:/home/user/
系统会要求输入user在192.168.XXX.XXX的登录密码,密码正确后就开始复制,scp默认显示复制进度。
如果经常在两个服务器之间拷贝文件,就需要一个非常有用的技术:scp免密码拷贝文件。

rsync

rsync [OPTION] SRC DEST
常用参数:
–progress: 显示拷贝进度。
–partial:保留不完整文件,实现断点续传。
–partial-dir=DIR:指定不完整文件的存储目录,而不是默认存储到目的地目录。
-P:包含–progress和–partial
–rsh=ssh:使用ssh方式传输文件,注意:如果之前设置过ssh免密码登录,那么此时也就不需要密码,非常方便。
-v:显示详细信息。
-a:归档模式。也就是以递归方式传输文件,并保持所有文件属性。
-r:递归方式传输文件。
本地复制文件:
rsync -av --progress SRC DEST

断点续传

rsync -P --rsh=ssh qs@192.168.0.2:/home/test.mp4 /root