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

同步工具Rsync学习笔记

时间:2015-11-14 07:40:49      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:主机   服务器   用户   认证   通道   

一、RSYNC介绍。

      全称Remote Rynchronization。

      可以用于主机之间快速复制同步镜像和远程备份,类似于SCP命令,但又优于SCP命令,可以增量拷贝。

      同时又类似于CP命令,用于本地不同分区或目录之间的全量或者增量拷贝。

      还能实现删除文件和目录的功能,类似于RM命令。


二、RSYNC特性。

       1. 支持拷贝特殊类型文件如设备,链接文件。

       2. 可以排除指定文件或目录,相当于TAR打包时的排除。

       3. 可以保持原文件的属性不变,如属主、属组、修改时间、软硬链接,权限等等。

       4. 可以实现增量备份,备份效率远高于SCP全量拷贝。

       5. 可以使用RCP、RSH、SSH通道来传输文件。

       6. 可以通过SOCKET进程方式传输文件。

       7. 支持匿名或者认证用户(非系统用户)的进程模式传输。


三、常见企业生产场景应用

       1. 服务器之间的数据备份。

       2. 结合inotify实现数据实时同步。

       3. 备份全网数据到一台固定的备份存储服务器。


四、安装部署配置实战演练

        1. 本地备份

           技术分享

    

        2. RSYNC保持文件所有属性的参数 -avz

技术分享


        3. RSYNC实现删除

           其实是一种排除删除,也可以说是删除复制,排除指定目录内同样的文件,删除其它,如果指定目录为空目录,则删除所有。注意指定目录后需接/,并且该删除方式只跟指定目录内的文件内容有关,跟目录名无关。

技术分享

        4. RSYNC通道推拉,使用-e参数指定通道。

技术分享

        5. RSYNC参数详解

            -v 详细进度

            -z 压缩传输

            -a 归档模式,以递归方式传输,保持文件属性。


        6. RSYNC进程模式演练

           实验环境:

            192.168.0.31 NFS服务器作为RSYNC的服务器,接收192.168.0.21NGINX服务器和192.168.0.90MYSQL数据库的数据同步。

            RSYNC进程的默认配置文件不存在,手动创建,vim /etc/rsyncd.conf


           ################################################################

           uid = rsync

           gid = rsync

           use chroot = no

           max connections = 200

           timeout = 300

           pid file = /var/run/rsyncd.pid

           lock file = /var/run/rsync.lock

           log file = /var/log/rsyncd.log

           [asling]

           path = /home/data-asling

           ignore errors

           read only = false

           list = false

           hosts allow = 192.168.0.0/24

           hosts deny = 192.168.0.0/32

           auth users = rsync_backup

           secrets file = /etc/rsync.password

           #################################################################

        技术分享


        启动进程模式的RSYNC,命令rsync --daemon

        技术分享


        增加用户和密码,并设置密码文件权限为600.

        技术分享


        客户端只需存在RSYNC软件即可,配置etc/password密码:

        此处无需用户名,配置完成后密码文件修改权限为600.

        echo "123456" > /etc/rsync.password


        客户端拉取服务端实例 (输入密码方式)

        技术分享           

         使用密码文件时需要指定密码文件,使用参数--password-file=/path

技术分享


五、企业级应用实战

        1.  客户端排除打包

             使用--exclude=方式排除

             技术分享

             技术分享

             使用--exclude-from=方式排除

             技术分享



        2.  服务端排除打包

             使用--exclude=方式排除

             

       技术分享

       技术分享


        3.  企业重要应用:无差异同步(--delete参数的使用)

             高风险操作!慎用!

             1.  客户端排除打包

     4.  共享多个目录

             将相同参数放到模块之外。

           技术分享


同步工具Rsync学习笔记

标签:主机   服务器   用户   认证   通道   

原文地址:http://xiangpang.blog.51cto.com/10719398/1712644

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