码迷,mamicode.com
首页 > 系统相关 > 详细

shell命令之(二)rsync的艺术

时间:2015-10-20 19:44:24      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

           (1) Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。

           (2)Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

      (3)Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。

       在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。

       无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。

       rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。

      今天需要将一个50多G的目录文件备份到备份机上,由于scp不支持断点续传,所以自然想到了rsync来担此重任。

      首先切记几个常用参数:

     

      -a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;

      -z 传输时压缩;

      -v 传输时的进度等信息,自己试试。可以看文档;

      -P   等同于 --partial 保留那些因故没有完全传输的文件,即断点续传!

        牛刀小试:

 用法一:

              同步主机上的/data/www目录到本机/test目录下:  rsync  -avz  root@192.168.21.39:/data/www  /test    (若本机没有test目录,它会自动创建!)

  用法二: 

             同步主机上的/data/www目录到本机/test目录下但是排除log录: rsync -avz  root@192.168.21.39:/data/www  --exclude=*/log/*   /test       

 用法三:

                   同步主机上的/data/www目录到本机/test目录下,本机/test目录下已经存在www目录,而且里面已经有文件,我要让www文件保持和主机一致,即www目录不能有与主机不同的文件

             rsync -avz  root@192.168.21.39:/data/www --delete  /test



本文出自 “破茧成蝶” 博客,请务必保留此出处http://qjslovemsn.blog.51cto.com/10615974/1704536

shell命令之(二)rsync的艺术

标签:

原文地址:http://qjslovemsn.blog.51cto.com/10615974/1704536

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