day-31 综合架构备份服务章节②

00. 课程介绍部分
    1.rsync备份服务传输数据原理
    2.rsync备份服务命令参数说明
    3.rsync备份服务企业应用方式
    4.rsync备份服务常见异常问题  --总结问题
    5.rsync备份服务全网备份项目  --上机测验
01.课程回顾部分
    1.网络命令总结
        a ping -c (数量) -i (间隔时间) -q (只显示结果信息) -f (急速ping)
        b route/ip route  ---查看系统路由信息/设置系统路由
        c telnet/nc/nmap  ---测试服务端口连通性
        d dig / nslookup  ---解析获得域名对应ip地址
        e tcpdump         ---抓数据包命令

    2.克隆主机 链接克隆
                占用资源少,效率快 但模板机没有后,克隆机全部失效
              完整克隆
                占用资源多,效率低 模板机不存在,克隆机继续使用

    3.备份数据概念
        两地三中心
        全量备份 增量本分
        备份什么文件:内部人员备份:脚本信息 代码文件 配置文件 日志文件等 重要文件  ---定时任务
                    外部人员备份:视频 照片 附件等                                ---实时备份

    4.备份数据方法
        a 本地备份 (与cp命令格式相同)
        b 远程备份 扩展:scp
                    rsync 参数 用户@ip地址或主机名:要传什么数据信息 将数据保存到本地主机路径  (拉)
                    例:
                    rsync -vrp 172.16.1.41:/tmp/hosts /etc
                    rsync 参数 本地数据路径 用户@ip地址或主机名:要存储到哪                   (推)
                    例:
                    rsync -vrp /etc/hosts 172.16.1.41:/tmp    
    5.备份服务守护进程配置
        1.检查是否有该软件   rpm -qa rsync
        2.编写配置文件信息
        3.创建虚拟用户      useradd -M -s /sbin/nologin xxx
        4.创建密码文件      修改权限
        5.创建备份目录文件  修改属主属组
        6.重启服务
02.rsync守护进程模式备份数据原理(用户身份转换过程)
    第一步:客户端 -->服务端  发送请求传输数据信息                执行命令  有认证用户信息 传输数据信息
    第二步:服务端 -->客户端  接收到传输数据信息                  审核认证用户
                            发送回复信息                       需要认证密码
    第三步:客户端 -->服务端  发送请求传输数据信息                发送认证密码信息
    第四步:服务端 -->客户端  发送确认信息
    第五步:客户端 -->服务端  用户携带数据通过网络进行传输         需要对用户身份进行转换 -->rsync(配置文件指定)
    第六步:服务端 -->客户端  发送数据存储完毕确认信息             将数据保存到备份目录中  备份目录权限属主为rsync
                            修改备份数据属主和属组信息           rsync修改文件权限

    chgrp ".hosts.rFMg5m" (in backup) failed: Operation not permitted (1)
      charp          ---修改数据属组信息
    解释说明:
    普通用户无法修改文件的属组信息


      补充:配置文件参数
      fake super = yes     ---让指定虚拟用户伪装成管理员用户,可以强行修改文件属主属组权限信息
03.rsync命令参数说明
    -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)  
                                归档模式参数;   等价于 -rlptgoD
    -r, --recursive             recurse into directories  
                                递归传输目录
    -l, --links                 copy symlinks as symlinks
                                备份传输连接文件保持属性不变
(不在a中)-L, --copy-links            transform symlink into referent file/dir
                                备份传输软连接文件时,会将源文件内容信息进行传输备份  
    -p, --perms                 preserve permissions
                                保持权限信息不变 例  644 755
    -t, --times                 preserve modification times
                                保持文件修改时间不变
    -g, --group                 preserve group
                                保持文件属主信息不变
    -o, --owner                 preserve owner (super-user only)
                                保持文件属组信息不变
    -D                          same as --devices --specials
                                保持设备文件属性信息不变
    以下不在a中  

    -v, --verbose               increase verbosity
                                传输备份数据详细过程信息
    -P(大写)                     same as --partial --progress
                                显示传输进度
        --exclude=PATTERN       exclude files matching PATTERN
                                根据指定数据信息进行排除
        --exclude-from=FILE     read exclude patterns from FILE
                                根据指定文件信息批量排除数据信息
        --delete                delete extraneous files from destination dirs
                                无差异同步传输数据
                                同步目录数据信息时,保证目录中数据信息完全相同
    -z, --compress              compress file data during the transfer
                                在传输数据时,对文件进行压缩传输
        --bwlimit=RATE          limit socket I/O bandwidth
                                限制传输速率
        --password-file=FILE    read daemon-access password from FILE        
                                实现免交互传输数据信息

补充:rsync 客户端部署过程
    第一步:创建生成密码文件
    echo 密码信息 >/etc/rsync.password
    chmod 600 /etc/rsync.password
    第二步:实现免交互传输数据
    rsync -avz /opt rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
04.rsync守护进程备份服务企业应用
    守护进程模式:
    推:客户端 -- 数据备份 -- 备份服务器
    拉:客户端 -- 数据恢复 -- 备份服务器

    Access via rsync daemon:
  拉 Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
     SRC    备份服务器上模块信息
     DEST   本地保存数据路径信息
           rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]



  推 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
     SRC      本地主机上要备份推送数据信息
     [USER@]  备份服务认证用户信息
     HOST::    备份服务器IP地址信息或者主机名称信息
     DEST      备份服务器模块名称信息
     rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST




    企业多模块应用过程:
    01.守护进程模式多模块创建
        第一步:配置文件中创建多个模块信息
        [sa_backup]
        comment = "backup dir by oldboy"
        path = /backup/sa_dir/
        [dev_backup]
        comment = "backup dir by oldboy"
        path = /backup/dev_dir/
        [dba_backup]
        comment = "backup dir by oldboy"
        path = /backup/dba_dir/
        第二步:确认指定模块路径是否存在/权限是否正确
        第三步:重启rsync服务


    02.守护进程模式数据排除功能
        创建测试环境:客户端内创建
        tree /oldboy
            /oldboy
        ├── exclude.txt
        ├── oldboy01
        │   ├── a.txt
        │   ├── b.txt
        │   └── c.txt
        ├── oldboy02
        │   ├── a.txt
        │   ├── b.txt
        │   └── c.txt
        └── oldboy03
           ├── a.txt
           ├── b.txt
           └── c.txt

        3 directories, 9 files

        需求01:备份/oldboy目录数据时,将oldboy01目录进行排除,将oldboy03目录中的b.txt文件进行排除
        需求02:备份/oldboy目录数据时,将oldboy01目录进行排除a.txt oldboy02/b.txt oldboy03/c.txt

        方法一:利用rsync命令参数实现
                rsync -avz /oldboy/ --exclude=oldboy03/b.txt --exclude=oldboy01/ rsync_backup@172.16.1.41::dev_backup --password-file=/etc/rsync.password

                rsync -avz /oldboy/ --exclude=oldboy01/a.txt --exclude=oldboy02/b.txt --exclude=oldboy03/c.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password

        说明:利用 --exclude排除数据信息,需要利用相对路径指定需要排除的数据,相对路径是相对于同步目录而言

        方法二: 利用rsync命令参数实现
                  第一步:编写需要排除信息的文件
                          #cat exclude.txt
                          oldboy01/a.txt 
                          oldboy02/b.txt
                          oldboy03/c.txt
                  第二步:rsync -avz /oldboy/ --exclude-form=/oldboy/exclude.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password

        方法三: 利用服务端配置文件参数
                        vim /etc/rsyncd.conf
                    第一种方法:在配置文件中添加(全局模式 影响所有模块)
                            exclude = oldboy01/ oldboy03/b.txt
                            exclude from = /oldboy/exclude.txt

                    第二种方法:在模块中添加(局部配置 影响单一模块)
                                    [sa_backup]
                                    comment = "backup dir by oldboy"
                                    path = /backup/sa_dir/
                                    exclude = oldboy01/a.txt oldboy02/b.txt
                                    或
                                    [sa_backup]
                                    comment = "backup dir by oldboy"
                                    path = /backup/sa_dir/
                                    exclude from = /oldboy/exclude.txt
            补充: rsyncd.conf配置文件说明
            全局配置: 在模块上面配置的信息,为全局配置,会影响所有模块
            局部配置: 在模块里面配置的信息,为局部配置,只会影响指定模块


    03.守护进程模式数据无差异同步
        --delete
        企业应用:保证数据同步一直  存储服务器数据 == 备份服务器数据
        PS: --delete参数,一定要慎用,容易造成误删数据

    04. 守护进程模式创建子目录功能

        rsync -avz /etc/hosts rsync_backup@172.16.1.41::sa_dir/root/  --password-file=/etc/rsync.password


    05. 守护进程模式访问策略功能
    白名单配置/黑名单配置
    参见图示


    06. 守护进程模式列表功能说明 (了解)
    list = false         --- 可以实现客户端列表显示备份服务端所有模块信息
    [root@nfs01 oldboy]# rsync  rsync_backup@172.16.1.41::
    sa_backup       "sa backup dir"
    dev_backup      "dev backup dir"
    dba_backup      "dba backup dir"
05.课程总结
1.rsync服务传输原理   重点理解(身份转化)
2.rsync命令参数 avz P(进度) L(传链接文件时源文件内容也传输)  
                --exclude (排除)  --exclude-from (排除一个文件中的) --delete(无差异传输) --password-file (免交互) bwlimit (限制传输速度)
3.rsync企业应用
    a 多模块创建
    b 数据排除功能
    c 无差异同步
    d 创建子目录
    e 访问策略功能
    f 列表功能
作业:
1.如何真正实现保持文件属主和属组信息不变?
在配置文件中修改
vim /etc/rsyncd.conf
uid=root
gid=root
#fake super = yes (注释掉)
重启服务即可实现
2.如何对外网用户传输数据进行限速
  --bwlimit=RATE

 rsync -avz --bwlimit=10 /etc/hosts  rsync_backup@172.16.1.41::sa_backup

3. 如何在修改rsync默认端口后,依旧可以传输数据信息
第一种方法:
    (拉)Pull: 
           rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]

           rsync -avz  rsync://rsync_backup@172.16.1.41:874/etc/hosts sa_backup 
    (推)Push: 
           rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

           rsync  -avz /etc/hosts rsync://rsync_backup@172.16.1.41:874/sa_back
第二种方法:
        利用rsync参数
            rsync -avz /etc/hosts rsync_backup@172.16.1.41::sa_backup  --port=874
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。