使用scp、rsync命令实现文件同步

测试环境:

操作系统:

本地服务器:CentOS release 6.8 (Final)

远程服务器:CentOS release 6.10 (Final)

实战任务:分别使用rsync命令和scp命令实现文件同步

一、rsync命令操作步骤如下:

1.从本地同步到远程:

$rsync -avzp -e ssh /var/www/html/  用户名@远程服务器ip:/data   #默认端口22

$rsync  -avzp -e 'ssh -p 端口号' --progress /var/www/html/  用户名@远程服务器ip:/data  #指定端口

2.从远程同步到本地:

$rsync -avzp  -e ssh  sky9890@远程服务器ip:/var/www/html/  /data/   #默认端口22

$rsync -avzp  -e ‘ssh -p 9899’--progress  sky9890@远程服务器ip:/var/www/html/  /data/   #指定端口

3.参数说明:

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。

-v, --verbose 详细模式输出。

-z, --compress 对备份的文件在传输时进行压缩处理。

--progress  显示备份过程

二、scp命令操作步骤如下:

1.从本地同步到远程

$scp -P 9899 -r /var/www/html/ 用户名@113.195.*.*:/data/  

2.从远程同步到本地

$scp  -P 9899 -r  sky9890@远程服务器ip:/var/www/html  /data/

3.参数说明

-r:归复制整个目录

-P:注意是大写的P, port是指定数据传输用到的端口号

三、两者比较

1.rsync只对差异文件做更新,可以做增量或全量备份;而scp只能做全量备份。简单说就是rsync只传修改了的部分,如果改动较小就不需要全部重传,所以rsync备份速度较快;默认情况下,rsync 通过比较文件的最后修改时间(mtime)和文件的大小(size)来确认哪些文件需要被同步过去。

2.rsync是分块校验+传输,scp是整个文件传输。rsync比scp有优势的地方在于单个大文件的一小部分存在改动时,只需传输改动部分,无需重新传输整个文件。如果传输一个新的文件,理论上rsync没有优势;

3.rsync不是加密传输,而scp是加密传输,使用时可以按需选择。


猜你喜欢

转载自blog.51cto.com/sky9896/2316641