码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-05-15 17:23:59      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:Linux

rsync工具介绍

rsync同步工具(可以实现把一个文件拷贝到另一台机器,或者另一个目录,类似于cp命令但是又不同,当需要同步的源新增加了东西,可以只同步新增加的文件,而不需要整个覆盖。)

把/etc/passwd拷贝到tmp目录下并改名1.txt如下(其中选项a包含了很多选项,v是可视化。)
rsync -av /etc/passwd /tmp/1.txt

技术分享图片

把passwd拷贝到如下ip的一台机器的root用户下的tmp目录,并改名1.txt,之后需要输入对方密码。(不加用户名默认就是当前的用户名)
rsync -av /tmp/1.txt root 192.168.188.128:/tmp/2.txt

技术分享图片

同时我们也可以把远程的机器的文件或者目录拷贝到本地,就是将源目录和目标目录调一下位置(OPTION就是选项如-av,SRC原目录,DEST目标目录、文件)(user@不写的话就是当前终端的用户)
rsync [OPTION] … [user@]host:SRC DEST

技术分享图片

rsync常用选项

-a 包含-rtplgoD

技术分享图片

-L演示(如果使用大L就会自动隐藏小l的效果)把root下的huang文件同步到/tmp/下,并改名为huang_yang
rsync -avL /root/huang/ /tmp/huang_yang

技术分享图片

--delte删除DEST中SRC没有的文件
我们先在/tmp/huang_yang/下再创建个文件,让他比原文件多点内容,然后看下是不是比原文件多点内容
touch /tmp/huang_yang/huang.txt

技术分享图片

我们再使用--delte同步一次,然后查看多出来的文件还在不在
rsync -avL --delete /root/huang/ /tmp/huang_yang/

技术分享图片

很明显,我们刚才创建的huang.txt已经没有了

--exclude,过滤指定文件
我们同步时,不同步.txt文件
rsync -avL --exclude "*.txt" /root/huang/ /tmp/huang_yang/

技术分享图片

我们可以看到1.txt文件没有被同步

想要过滤多个文件时,可以写多个--exclude,一个--exclude后面不能写多个条件
比如我们过滤.txt和.tar
rsync -avL --exclude "*.txt" --exclude "*.tar" /root/huang/ /tmp/huang_yang/

技术分享图片

.txt和.rat都未被同步过来

-P(大写)显示详细同步过程
rsync -avP /root/huang/ /tmp/huang_yang/

技术分享图片

-u加上该选项后,如果DEST中的文件比SRC新,则不 同步
/root/huang目录下和/tmp/huang_yang都有yang文件,然后我们给/tmp/huang_yang的yang添加内容,然后使用带-u的命令,可以看到同步之后/tmp/huang_yang的yang并没有被覆盖。
我们先给/tmp/huang_yang/yang里添加一个名为2.txt的文档
然后对比一下两个yang目录可以看到,/tmp/huang_yang/yang里有个2.txt ,/huang/yang里没有2.txt
技术分享图片

我们进行同步一下看
rsync -avPu /root/huang/ /tmp/huang_yang/

然后我们可以看到现在/tmp/huang_yang/yang/里还有2.txt

技术分享图片

rsync通过ssh同步

rsync命令默认没有安装,需要安装rsync包。(两台都要安装)

rsync通过ssh方式同步
rsync -av test1/ 192.168.133.132:/tmp/test2/

rsync通过ssh方法同步:
将passwd同步到192.168.133.132机器上去,并改名aming.txt
rsync etc/passwd/ 192.168.133.132:/tmp/aming.txt

将192.168.133.132机器上的aming.txt同步到本机上的tmp目录下,并改名为123.txt
rsync -avP 192.168.133.132:/tmp/aming.txt /tmp/123.txt

如果对方机器并不是22端口,你可以使用如下方法指定端口
rsync -av -e "ssh -p 22" test1/ 192.168.133.132:/tmp/test2/

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

标签:Linux

原文地址:http://blog.51cto.com/13658403/2116234

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!