Rsync Summary ~ 未完待续


    Rsync Summary


            From introduction to mastery  ~

                  If you start, don’t give up

                  Knowledge is wealth

                  Life is short

                  Are you ready ?


Rsync Summary ~ 未完待续_第1张图片



一、Rsync介绍

点击如下标题,会自动跳转 ~

1、Rsync介绍
2、Rsync的特性
3、备份方法
4、实现方式


二、Rsync优缺点

点击如下标题,会自动跳转 ~

1、Rsync优点
2、Rsync缺点


三、Rsync安装

点击如下标题,会自动跳转 ~

1、Rsync-Server安装
2、Rsync-Clinet 安装











一、Rsync介绍

1、Rsync介绍

        Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,Rsync软件适用于unix/linux/windows等多种操作系统平台;

        默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分;





2、Rsync的特性

        支持拷贝特殊文件如链接文件,设备等;
        可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高;
        一个rsync相当于scp,cp,rm,但是还优于他们每一个命令;
        支持匿名的或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像;
        rsync可以基于ssh协议传输,安全有保证;





3、备份方法

        本地备份;
        远程备份;
        无差异备份;





4、实现方式

        全量备份数据;
        增量备份数据;








二、Rsync优缺点

1、Rsync优点

        增量备份,支持socket(daemon);
        集中备份(支持推拉,都是以客户端为参照物);
        远程shell通道模式还可以加密(SSH)传输,socket(daemon)需要加密传输,可以利用服务或ipsec服务 ;





2、Rsync缺点

        大量小文件时候同步的时候,比对时间较长,有的时候,同步过程中,rsync进程可能会停止,僵死了;
        同步大文件,10G这样的大文件有时也会出问题,中断。未完整同步前,是隐藏文件,可以通过续传(–partial)等参数实现传输;
        一次性远程拷贝可以用scp,大量小文件要打成一个包再拷贝;








三、Rsync安装

1、Rsync-Server安装

        (1)检查Server linxu是否已经安装rsync,如已安装则无需再进行安装
                 rpm -qa |grep rsync

        (2)如果有请卸载
                 rpm -e --nodeps rsync

        (3)rsync源码下载安装编译
                 mkdir /data/opt/;cd /data/opt/
                 wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
                 tar -zxvf rsync-3.1.2.tar.gz
                 mv rsync-3.1.2 /data/opt/rsync
                 cd rsync-3.1.2
                 ./configure --prefix=/usr/local/rsync
                 make
                 make install
                 ln -s /data/opt/rsync/bin/rsync /usr/local/bin/rsync

        (4)配置rsync-server
                 #手动创建
                 vim /usr/local/rsync/rsync.conf
                 ### 全局参数 ###
                 port=873
                 # mote file:指定一个消息文件,当客户端连接服务器时该文件的内容显示给客户端
                 motd file=/usr/local/rsync/rsyncd.motd
                 log file=/usr/log/rsyncd.log
                 pid file=/var/run/rsyncd.pid

                 ### 模块参数 ###
                 [hometest]
                 # path:指定当前模块在rsync服务器上的同步路径,该参数是必须指定的
                 path=/home/test
                 # use chroot:若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件
                 use chroot = no
                 uid = rsync
                 gid = rsync
                 # read only:指定是否允许客户上传文件,若为true则不允许上传;若为false并且服务器目录也具有读写权限则允许上传
                 read only=false
                 # write only:指定是否允许客户下载文件,若为true则不允许下载,若为false并且服务器目录也具有读权限则允许下载
                 write only
                 # 指定多个由空格隔开的文件或目录(相对路径),并将其添加到exclude列表中,这等同于在客户端命令中使用-exclude来指定模式
                 exclude=/readme.txt /runtime
                 # 指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块,这里的用户和系统用户没有关系,指的是虚拟用户,用户名和口令以明文方式存在在secrets file参数指定的文件中
                 auth users=markdeng
                 secrets file = /usr/local/rsync/rsyncd.secrets
                 # 允许连接的服务器,可以添加网段,以逗号分隔
                 hosts allow = 172.16.1.0/24
                 # 最大连接数
                 max connections = 200
                 # 超时时间
                 timeout = 300
                 # 忽略错误
                 ignore errors
                 # 不能列表,不能使用ls类似的功能
                 list = falsebr/>


        (5)配置rsyncd.secrets(虚拟用户和秘钥)
                 vim /usr/local/rsync/rsyncd.secrets
                 # 格式:虚拟用户名:密码
                 markdeng:123rsyncd

                 # 配置相关权限
                 chmod 600 /data/opt/rsync/rsyncd.secrets
                 ln -s /data/opt/rsync/rsyncd.conf /etc/rsyncd.conf
                 ln -s /data/opt/rsyncd.motd /etc/rsyncd.motd
                 ln -s /data/opt/rsync/rsyncd.secrets /etc/rsyncd.secrets
                 chmod 600 /etc/rsyncd.conf
                 chmod 600 /etc/rsyncd.motd
                 chmod 600 /etc/rsyncd.secrets
                 
        (6)配置rsyncd.motd
                 vim /data/opt/rsync/rsyncd.motd
                 # 一个消息文件,当客户端连接服务器时该文件的内容显示给客户端
                     welcome use rsync service

        (7)启动rsyncd
                 /data/opt/bin/rsyncd --daemon --config=/etc/rsyncd.conf
                 # 查看rsyncd进程
                 ps aux | grep rsyncd
                 # 查看rsyncd端口
                 netstat -lntp |grep 873










2、Rsync-Clinet 安装

        (1)检查client linxu是否已经安装rsync,如已安装则无需再进行安装
                 rpm -qa |grep rsync

        (2)安装telnet服务
                 yum -y install telnet

        (3)创建虚拟用户与秘钥
                 vim /etc/rsyncd.secrets
                 # 格式:虚拟用户名:密码(是rsync-server端创建的用户密码)
                 markdeng:123

        (4)启动rsyncd
                 rsync --daemon

        (5)查看rsyncd进程
                 ps aux | grep rsyncd
                 
        (6)查看rsyncd端口
                 netstat -lntp |grep 873




你可能感兴趣的:(rsync,linux,devops,经验分享,centos)