【Linux---远程同步Rsync】01-初识Rsync

一、rsync介绍

rsync 远程同步,免费开源的备份工具;

支持全量备份和增量备份;

默认端口:873

C/S架构

  • 全量备份
  • 增量备份

全量备份:每一次备份都是备份全部的数据

增量备份:备份上一次全备的不同数据

【Linux---远程同步Rsync】01-初识Rsync_第1张图片

【Linux---远程同步Rsync】01-初识Rsync_第2张图片 

二、rsync的传输模式

  1. 本地传输
  2. 远程传输(使用的是系统用户,不安全)
  3. 守护进程(使用虚拟用户,安全)

 本地传输

在同一个主机进行同步;把主机上的/etc 目录 同步到 /opt 目录下

和cp命令一样

rsync -avc /etc /opt

远程传输

在不同主机上同步文件;

192.168.22.133的/etc  同步到  192.168.22.134的/opt 目录下

rsync -avc /etc [email protected]:/opt

远程传输采用的是SSH协议

守护进程

环境准备

192.168.22.133(服务端)
192.168.22.134(客户端)

安装
yum install -y rsync


配置
rpm -qc rsync   列出rsync的配置文件
        q 查询
        c 列出配置文件
vim /etc/rsyncd.conf
        uid = rsync            # rsync使用的用户
        gid = rsync            # 用户组
        port = 873               # 端口
        fake super = yes        # 保留文件属性
        use chroot = no           # 限制到自己的目录
        max connections = 200
        timeout = 600
        ignore errors
        read only = false
        list = false            # 不列出信息
        auth users = rsync_backup            # 虚拟用户
        secrets file = /etc/rsync.passwd       # 密码文件路径
        log file = /var/log/rsyncd.log
        
        [backup]        # 路径
        comment = welcome to rsync
        path = /backup        # 真实的路径

        创建用户
        useradd -M -s /sbin/nologin rsync  
        	没有登录shell  没有家目录

        创建密码文件
        cat /etc/rsync.passwd
        rsync_backup:123

        修改权限(不修改会报错)
        chmod 600 /etc/rsync.passwd
        chown -R rsync.rsync /backup

        创建备份目录
        mkdir /backup

        启动
        systemctl start rsyncd.service


测试
    推送:[root@localhost1 opt]# rsync -avz /etc [email protected]::backup
    拉取:[root@localhost2 ~]# rsync -avz [email protected]::backup/123.tx /opt
        
        
        如果想要推送的话,localhost2也需要使用   守护进程模式

 三、rsync的无差异同步、传输限速

rsync 无差异同步
--detele  
两端同步的文件保持一致; 如果文件不一致,会删除除同步以外的文件
拉取:以服务端为准,删除客户端的多余的文件
推送:以客户端为准,删除服务端的多余的文件


rsync 传输限速

-P 显示传输速率
--bwlimit=1   限速1M

四、rsync常用选项

rsync 选项
常用 avz
-a      #归档模式传输,等于-tropgD1
-v      #详细模式输出,打印速率,文件数量等
-Z      #传输时进行压缩以提高效率
-r      #递归传输目录及子目录,即目录下得所有目录都同样传输。
-t      #保持文件时间信息
-o      #保持文件属主信息
-p      #保持文件权限
-g      #保持文件属组信息
-l      #保留软连接
-P      #显示同步的过程及传输时的进度等信息
-D      #保持设备文件信息
-L      #保留软连接指向的目标文件
-e      #使用的信道协议,指定替代rsh的shell程序
--exclude=PATTERN      #指定排除不需要传输的文件模式
--exclude-from=file     #文件名所在的目录文件
-- bwlimit=100      #限速传输
--partial            #断点续传
--delete              #让目标目录和源目录数据保持一-致

五、总结

  • rsync 是什么,能做什么
    • rsync是远程同步工具
  • 传输模式
    • 本地传输
    • 远程传输(系统用户,不安全)SSH协议 22
    • 守护进程(虚拟用户,安全)rsync协议 873
  • 传输方式
    • pull 拉取(下载)
    •  push 推送(上传)
  • rsync守护进程
    • 安装rsync
    • 配置/etc/rsyncd.conf
    • 准备环境:创建用户、创建密码文件、授权、创建目录
    • 启动
  • 免密登录
    • 1、使用文件免密传输
      --password-file=文件名
      chmod 600 文件名
    • 2、变量
      临时变量,重启客户端就失效   可以写入 /etc/profile    .bashrc
      export RSYNC_PASSWORD=123

你可能感兴趣的:(Linux,linux,服务器,运维)