备份服务

一、备份服务原理

1.增量备份数据原理

 利用算法实现增量备份
 根据checksum或者md5sum算法识别出增量数据,将增量数据进行传递
 根据文件属性信息变化(修改时间/大小),进行数据传递

2.rsync守护进程方式备份数据原理

需要完成用户身份验证
需要将用户身份进行转换 rsync 
需要将备份数据属主和属组进行改变 rsync

二、搭建流程

服务端:
1.确认软件是否安装 (yum -install rsync)
  rpm -qa rsync
2.修改配置文件
  cp /etc/rsyncd.conf /etc/rsyncd.conf.bak
  vim /etc/rsyncd.conf
    uid = rsync                        --- 指定转换用户身份/备份目录管理用户
    gid = rsync                        --- 指定转换用户组身份/备份目录管理用户组
    port = 873                         --- 指定服务端口
    fake super = yes                   --- 是否伪装成一个超级用户 (rsync) 
                                           保证文件权限信息不变/不再显示chgrp命令错误提示   
    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     --- rsync备份服务日志文件
    ignore errors                      --- 忽略错误功能 保证传输数据效率
    read only = false                  --- 针对于备份目录是否是只读 
    list = false                       --- 当list参数配置为true时,客户端可以获取服务端所有模块列表信息        
                                       (用Enter可以打印出清单)
    hosts allow = 172.16.1.0/24        --- 允许哪个主机地址或者网段可以和备份服务器建立连接 (白名单)
    hosts deny = 0.0.0.0/32            --- 拒绝哪个主机地址或者网段可以和备份服务器建立连接 (黑名单)
    auth users = rsync_backup          --- 指定认证用户
    secrets file = /etc/rsync.password --- 指定认证密码文件
    [backup]                           --- 模块名称
    comment = "backup dir by oldboy"   --- 模块注释说明
    path = /backup                     --- 指定备份目录路径
3.创建备份目录管理用户
  #创建一个虚拟用户
  useradd -M -s /sbin/nologin  rsync
  #查看用户是否创建成功
  id rsync
  uid=1042(rsync) gid=1046(rsync) groups=1046(rsync)
4.创建一个备份目录并修改属主属组
  mkdir /backup 
  chown rsync.rsync /backup
5.创建一个访问认证文件
  vim /etc/rsync.password   
  rsync_backup:oldben
  chmod 600 /etc/rsync.password
6.启动服务
  systemctl start rsyncd
  netstat -lntup|grep rsync
客户端:
rsync命令使用方法:
1.本地备份数据工作方式 (类似cp命令功能)
   cp -r 备份数据信息  保存数据目录路径
  rsync  【参数】 源文件 目标文件位置

2.远程备份数据工作方式 (类似scp命令功能)
   拉取数据:客户端将数据进行下载 <-- 备份服务器  还原
   rsync 参数  远程主机地址或者名称:拉取的数据信息    本地保存数据目录信息
   rsync 172.16.1.41:/etc/hosts ./
   
   推送数据:客户端将数据进行上传 --> 备份服务器  备份 
   rsync 参数  本地需要备份推送数据  远程主机地址或者名称:/备份数据路径信息
   rsync /etc/hosts 172.16.1.41:/backup

  #PS:rsync在推送目录数据时,目录后面有 / 和 没有/有本地区别
   有   /    将目录下面数据内容进行推送传输
   没有 /    将目录本身以及下面数据内容都进行推送传输
   

3.守护进程备份数据方式 (服务端/客户端)
   拉取数据: 
   rsync [OPTION...] [USER@]HOST::SRC... [DEST]
   rsync 参数  认证用户名称@服务端主机名称或地址::模块信息   本地保存数据路径
   rsync  rsync_backup@172.16.1.41::backup/hosts  ./
   
   推送数据: 
   rsync 参数  本地需要推送数据  认证用户名称@服务端主机名或地址::模块信息
   rsync -r /oldboy  rsync_backup@172.16.1.41::backup

三、备份服务命令参数

  rsync 常用参数   -avz 
    -z, --compress(压缩)              compress file data during the transfer  
                                        将传输文件数据进行压缩处理
    -v, --verbose                       increase verbosity
                                        显示数据传输详细过程
    -a, --archive                       archive mode; equals -rlptgoD 
                                        归档模式参数; -a参数等价于输入 -rlptgoD
    -r, --recursive                     recurse into directories
                                        远程传输目录信息
    -l, --links                         copy symlinks as symlinks   
                                        是否可以将链接类型文件进行传输   (没有什么意义)
    -p, --perms                         preserve permissions    
                                        保持权限信息不变    
    -t, --times                         preserve modification times
                                        保持修改时间不变
    -o, --owner                         preserve owner (super-user only)                                    
                                        保持文件属主信息不变
    -g, --group                         preserve group  
                                        保持文件属组信息不变
    -D                                  same as --devices --specials    
                                        是否可以将设备文件进行传输
    -L, --copy-links                    transform symlink into referent file/dir
                                        将链接文件指向的源文件的真实数据进行传递
    -P                                  same as --partial --progress    
                                        显示数据传输进度信息

四、备份服务企业应用(白名单优先于黑名单)

    1)备份服务多模块配置
       需求:将开发人员 运维人员 数据库人员备份数据进行隔离
       操作说明:
       第一个历程:修改配置文件,添加多个模块信息
       [sa_backup]
       comment = "backup dir by oldboy"
       path = /sa_backup
       [dev_backup]
       comment = "backup dir by oldboy"
       path = /dev_backup
       
       第二个历程:创建模块对应目录信息
       mkdir /sa_backup  /dev_backup
       chown rsync.rsync  /sa_backup  /dev_backup
       
       第三个历程:重启服务程序
       systemctl restart rsyncd 
       
    2)备份服务模块目录中如何创建子目录
       需求:将运维人员oldboy01数据 和 oldboy02数据进行区分
             将不同主机数据进行区分
       操作说明:
       rsync -v init.sh rsync_backup@172.16.1.41::backup/init/
       PS: 默认不支持创建多级目录

    3)实现排除指定数据信息进行备份
       环境准备:
       mkdir oldboy{01..03}
       touch oldboy{01..03}/{a..c}.txt
       ├── oldboy01
       │?? ├── a.txt
       │?? ├── b.txt
       │?? └── c.txt
       ├── oldboy02
       │?? ├── a.txt
       │?? ├── b.txt
       │?? └── c.txt
       └── oldboy03
           ├── a.txt
           ├── b.txt
           └── c.txt
           
       需求1:不想让oldboy01中的,a.txt文件进行备份
       --exclude   --- 排除指定数据不要进行传输同步
       rsync -r oldben01 oldben02 oldben03 --exclude=oldben01/a.txt rsync_backup@172.16.1.41::backup/oldben/

       需求2:需要排除多个文件或者目录数据信息时
       --exclude-from   --- 加载一个文件可以实现排除多个数据信息
       第一个历程:编写一个排除文件
       oldboy01/a.txt
       oldboy02/b.txt
       oldboy03/c.txt
       PS:排除数据信息写成相对路径, 相对于传输目录而言
       
       第二个历程:执行排除数据命令
       rsync -r oldben  --exclude-from=1.txt rsync_backup@172.16.1.41::oldben/oldgirl/

    4)备份数据采用无差异同步数据 (慎用)
       实现客户端和服务端数据一致
       rsync -r oldben/  rsync_backup@172.16.1.41::oldben/oldgirl/
       意义:保证存储服务器用户数据信息和备份器数据信息高度一致
       
    5)实现免交互自动备份数据功能
       定时任务/实时同步
       客户端操作:
       第一个历程:创建密码文件
       vim /etc/rsync.password
       oldboy123
       chmod 600 /etc/rsync.password
       
       第二个历程:进行免密码传输数据测试
       rsync -r oldben/  rsync_backup@172.16.1.41::oldben/oldgirl/ --password-file=/etc/rsync.passwd
    6)实现数据备份访问控制功能
       hosts allow = 172.16.1.0/24    白名单:允许哪些主机或网段进行传输
       hosts deny = 0.0.0.0/32        黑名单:拒绝内些主机或网段进行传输
    
   #企业应用: 只是选择一种名单即可, 不用白名单和黑名单同时存在
 =========================================================================   
       备份范围全局配置和局部配置:
       全局配置:配置文件中模块以外配置称为全局配置
                 影响所有模块功能
       局部配置:配置文件中模块以内配置称为局部配置
                 只是影响指定模块功能 局部配置优先于全局配置    
=========================================================================       
    7)数据传输限速功能
       开发人员(家里)  --- 互联网 -电信/联通/移动 100M- 路由器  ---- 网站备份服务器
       网站用户          --- 互联网                               ---- web服务器
       --bwlimit=KBps          limit socket I/O bandwidth 
    =========================================================================
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,427评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,551评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,747评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,939评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,955评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,737评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,448评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,352评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,834评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,992评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,133评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,815评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,477评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,022评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,147评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,398评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,077评论 2 355

推荐阅读更多精彩内容