您的位置:首页 > 其它

rsync工具介绍,rsync常用选项,rsync通过ssh同步

2017-10-17 18:01 821 查看
笔记内容:
l 10.28 rsync工具介绍l 10.29/10.30 rsync常用选项l 10.31 rsync通过ssh同步笔记日期:2017.9.2

10.28 rsync工具介绍








rsync安装命令:yum -y install rsyncrsync是一个比较重要的工具,需要熟练掌握,在工作中很有可能每天都会用到这个工具。例如我们从A机器传输文件到B机器,或者通过远程去备份一些数据,都会使用这个工具。rsync不仅可以通过网络传输数据,也可以在本机传输数据,类似于cp。假设现在有一个A目录和B目录,现在的需求是把A目录下的数据拷贝到B目录下去,但是A目录下的数据会一直在更新或增加,也就是说A目录下的数据一直在变动,现在需要每小时拷贝一次到B目录去,如果只使用cp命令的话,只能是从头到尾把文件覆盖一遍。但是如果A目录只增加了一个很小的文件,也要从头到尾的覆盖的话,很耗费时间和磁盘资源。所以我们才需要使用rsync工具,rsync能实现增量的拷贝,rsync只会拷贝增加的或更新的文件,rsync也支持远程同步传输文件。 例如我把passwd文件通过rsync命令拷贝到tmp目录下,而且能够看到详细的信息,rsync命令与其说是拷贝不如说是发送,在显示的信息里也显示了传输速度:





远程传输命令格式,需要加上用户名和IP地址,后面跟传输的目标目录:




如果不写用户名的话,就会默认为当前终端的用户名,例如我当前终端使用的是root用户,那么默认就是传输到对方的root上,如果我我当前终端使用的是user1或者其他什么用户,就会按照这个用户名去传输,对方没有这个用户的话也仍然会要求输入密码: 存在此用户的示例:






不存在此用户的错误示例:




10.29/10.30 rsync常用选项






-a选项包含着-rtplgoD选项,也就是说一个-a选项表示着-rtplgoD 这7个选项。 --exclude选项支持使用通配符 -u选项能够避免覆盖目标目录下较新的文件 -z是zip的意思,压缩是为了传输的过程中节省带宽,加快传输速度 现在我们开始实践使用一下这些选项,我用root下的Test目录作为源目录,然后以tmp作为目标目录。 -av选项是最常用的选项,能够看到同步的过程:









加-L选项会把-a选项里包含的-l选项覆盖掉,-L选项会把源目录下的软链接文件的指向文件拷贝过去:




如果拷贝软链接文件的指向文件时,该软连接的指向文件不存在就会报错:



这就是-L选项的作用,会拷贝软链接文件的指向文件到目标目录下。

--delete选项会删除目标目录中,源目录没有的文件,例如目标目录有一个123.txt的文件,但是源目录没有这个文件,那么同步时就会把目标目录下123.txt文件删除掉:




--exclude选项可以过滤指定的文件,例如我把x开头的文件都过滤掉:







--exclude选项可以写多个:




-P选项可以看到传输的速率信息:




-u选项能够避免覆盖目标目录下较新的文件:




-z是zip的意思,压缩是为了传输的过程中节省带宽,加快传输速度,不过只有文件数量多的情况下才看得到效果:




10.31 rsync通过ssh同步






通过ssh方式同步:




也可以反过来同步,也就是将对方机器的文件,同步到自己的机器上:




如果对方使用的不是22端口的话,可以加上-e来指定端口:


在这里我指定的是22端口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rsync