美文网首页
Rsync 服务

Rsync 服务

作者: DB哥 | 来源:发表于2019-08-29 14:25 被阅读0次

    Linux System Environment

    [root@rsync01 ~]# cat /etc/redhat-release                   #==》系统版本
    CentOS Linux release 7.5.1804 (Core) 
    [root@rsync01 ~]#uname –r                                   #==》内核版本
    3.10.0-862.el7.x86_64
    [root@rsync01 ~]#uname -m                                   #==》系统架构
    x86_64
    [root@rsync01 ~]#echo $LANG                                 #==》系统字符集
    en_US.UTF-8
    [root@nfs01 ~]# rsync –version                              #==》Rsync版本
    rsync  version 3.1.2  protocol version 31
    

    全量备份

    全量备份是指将客户端所有的数据备份,效率低下,占用空间。

    增量备份

    增量备份是不会将客户端所有数据备份,而且将有变化的数据备份,提高备份效率,节省空间,适合异地备份。

    Rsync功能

    1、本地复制(增量备份),类似cp命令(全量备份)
    2、异地复制(增量备份),类似scp命令(全量备份)
    3、守护进程模式,开启后台进程,接受主机访问
    4、使用户传输数据时可以免密码输入进行传输数据
    5、传输过程使用-z压缩数据传输速度更快

    Rsync语法格式

    1、Local(本地传输):  rsync [OPTION...] SRC... [DEST]
    rsync  -avz   /etc/hosts  /backup
    
    2、Access via remote shell(远程传输):
    推送  rsync  -avz   /etc/hosts   root@10.0.0.70:/backup
    拉取  rsync  -avz   root@10.0.0.70:/backup    /etc/hosts
    
    3、Access via rsync daemon(守护进程模式传输):
    推送  rsync  -avz   /etc/hosts   root@10.0.0.70::backup
    拉取  rsync  -avz   root@10.0.0.70::backup    /etc/hosts
    

    Rsync守护进程模式工作流程图

    Rsync命令参数
    推荐参数用法 -avz 或者 -avzP

    1、-a                    #==》归档模式传输,功能等于 –tropgDl参数集合
    2、-r                    #==》递归复制 
    3、-l                    #==》保持软连接 
    4、-L                    #==》保留软件接指向目标文件
    5、-p                    #==》保持文件权限
    6、-P                    #==》显示同步的过程及传输时的进度信息
    7、-t                    #==》保持文件修改时间
    8、-g                    #==》保持用户组不变
    9、-o                #==》保持用户不变
    10、-z               #==》数据压缩传输
    11、-v                   #==》显示输出过程
    12、--exclude={a,b,c,d}  #==》多个文件或--exclude=a单个文件,排除不复制的文件
    13、--exclude-from=file  #==》接收文件内容指定排除的文件
    14、--progress           #==》显示传输进度
    15、--bwlimit=KBPS   #==》限制I/O带宽,KBytes per second
    16、--delete             #==》使目标目录和源目录数据保持一致
    

    rsyncd.conf配置文件参数说明
    标注:Rsync守护进程模式下配置文件才有效

    [root@RsyncServer ~]#cat /etc/rsyncd.conf
    ##rsyncd.conf start
    uid = www                               #==》运行Rsync子进程的用户
    gid = www                               #==》运行Rsync子进程的用户组
    port  = 873                             #==》监听端口
    fake super = yes                        #==》无需让rsync以root身份运行,允许接收文件的完整性
    use chroot = no                         #==》禁锢推送的数据至某个目录,不允许跳出该目录
    max connections = 200                   #==》最大连接数
    timeout =300                            #==》设置访问rsync服务超时时间
    pid file = /var/run/rsyncd.pid          #==》保存Rsync进程号ID
    lock file = /var/run/rsyncd.lock        #==》锁文件
    log file = /var/log/rsyncd.log          #==》Rsync日志文件
    ignore errors                           #==》忽略错误信息
    read only = false                       #==》对备份数据可读写
    list = false                            #==》不允许查看模块信息
    #hosts allow = 10.0.0.0/24              #==》允许访问rsync服务指定的网段
    #hosts allow = 10.0.0.200/24            #==》允许访问rsync服务指定的IP
    #hosts deny = 10.0.0.0/32               #==》禁止访问rsync服务指定的网段
    #hosts deny = 10.0.0.8                  #==》禁止访问rsync服务指定的IP
    auth users = rsync_backup               #==》访问rsync服务虚拟用户
    secrets file = /etc/rsync.password      #==》认证虚拟用户密码文件
    
    [backup]                                #==》模块标签
    Comment = welcome to backup             #==》模块描述
    path = /backup                          #==》Rsync备份路径
    ##rsyncd.conf end
    

    一、配置阿里云yum源

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum makecache
    

    二、yum安装Rsync服务
    标注:CentOS 7 rsync默认已安装

    [root@rsync01 ~]# yum -y install rsync
    [root@rsync01 ~]# rpm -qc rsync
    /etc/rsyncd.conf
    /etc/sysconfig/rsyncd
    

    三、创建统一虚拟用户 www

    [root@rsync01 ~]# useradd -s /sbin/nologin -M www
    [root@rsync01 ~]# id www
    uid=1002(www) gid=1002(www) groups=1002(www)
    

    四、创建备份目录

    [root@rsync01 ~]# mkdir /backup
    [root@rsync01 ~]# chown -R www.www /backup
    [root@rsync01 ~]# ls -ld /backup/
    drwxr-xr-x 2 www www 6 Aug 29 11:20 /backup/
    

    五、配置Rsync配置文件/etc/rsyncd.conf

    [root@rsync01 ~]# vim /etc/rsyncd.conf
    uid = www
    gid = www
    port = 873
    fake super = yes
    use chroot = no
    max connections = 200
    timeout = 300
    log file = /var/log/rsyncd.log
    ignore errors
    read only = false
    list = false
    auth users = rsync_backup
    secrets file = /etc/rsync.passwd
    [backup]
    comment = welcome to backup!
    path = /backup
    

    六、创建密码文件并更改授权

    [root@rsync01 ~]# echo 'rsync_backup:123456' > /etc/rsync.passwd
    [root@rsync01 ~]# chmod 600 /etc/rsync.passwd 
    [root@rsync01 ~]# cat /etc/rsync.passwd 
    rsync_backup:123456
    

    七、启动Rsync守护进程模式并设置开机自启动

    [root@rsync ~]# systemctl start rsyncd
    [root@rsync ~]# systemctl enable rsyncd
    [root@rsync ~]# systemctl status rsyncd
    [root@rsync01 ~]# ss -tlunp | grep rsync
    

    八、Rsync客户端测试操作
    标注:Rsyns两个方法免密码传输文件,方法一:创建密码文件;方法二:使用环境变量定义密码

    1、创建统一虚拟用户www

    [root@test ~]# useradd -s /sbin/nologin -M www
    [root@test ~]# id www
    uid=1002(www) gid=1002(www) groups=1002(www)
    

    2、创建虚拟用户验证密码文件并授权

    [root@test ~]# echo '123456' > /etc/rsync.passwd
    [root@test ~]# chmod 600 /etc/rsync.passwd 
    [root@test ~]# cat /etc/rsync.passwd 
    123456
    

    3、使用密码文件传输

    [root@test ~]# rsync -avzP /etc/fstab rsync_backup@10.0.0.60::backup --password-file=/etc/rsync.passwd
    

    4、使用环境变量定义密码传输

    [root@test ~]# export RSYNC_PASSWORD="123456"
    [root@test ~]# rsync -avzP /etc/hosts rsync_backup@10.0.0.60::backup
    

    相关文章

      网友评论

          本文标题:Rsync 服务

          本文链接:https://www.haomeiwen.com/subject/qzjiectx.html