rsync备份服务(扩展)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync备份服务(扩展)相关的知识,希望对你有一定的参考价值。

 1.1客户端部署:

1)进行测试传输备份数据:

NFS推送数据到rsync rsync  -avz  /etc/hosts [email protected]::backup

2)如果想实现免交互方式传输数据,客户端要完成以下操作

1. 创建密码文件,并修改权限为600

echo "oldboy123" >> /etc/rsync.password

chmod 600 /etc/rsync.password

2. 进行免交换传输数据测试

rsync -avz /etc/hosts [email protected]::backup  --password-file=/etc/rsync_password


1.1.1  rsync守护进程模式数据传输原理:

客户执行命令访问推送数据到服务器,首先会被拦截确认客户身份是否为认证用户,如果确认没错会询问认证用户对应秘钥,那么通过后进来服务器后身份会被转换为rsync身份,而备份目录也只有rsync才可以写入,所以刚好将数据写入(如果进来后是其他用户,则没有权限访问备份目录)

技术分享图片 


1.1.2 在实际工作中部署rsync软件方案

1. 在备份服务器上部署rsync软件服务,使用推的方式进行数据传输

  定时和实时备份用于什么人员?

  1)采用定时备份:备份的数据信息大部分是内部人员产生的

  2)采用实时备份:备份的数据信息大部分是外部人员产生的

1.1.3 rsync命令参数说明(man rsync

-v:输出详细信息(rsync是增量备份,没有数据传输,显示为空

-z:压缩

-a:归档模式,包含-rtopgDl

-p:保存传输过去的文件权限不变

     例:如何保持备份传输过去的文件权限不变 (-p的功能)

       1)修改配置文件——uid gid = root

         注:如果将uid和gid前面注释掉,会默认成功nobody用户

       2)更改备份目录的属主为root

       3)客户端在传输数据测试

-P:显示传输进度

-D:保持设备文件信息

--exclude=文件名 :排除的文件名

--exclude-from=file :排除的所有文件(将路径写入到这个文件中

--delete:无差异同步(保存数据一致性

--bwlimit=RATE:限速功能 

-e:指定加密隧道方式传输数据,如ssh、rcp、rsh(不能用在守护进程备份方式

  例:rsync -avz -e "ssh -p22" /home/oldboy/oldboy_test.txt 172.16.1.41:/backup

1.1.5 rsync扩展应用说明

1. rsync服务特殊启动方法

利用xinetd服务启动rsync守护进程服务流程:

 1)确认是否安装了xinetd服务软件

  安装方法:

   rpm -qa|grep xinetd
   yum install -y xinetd

 2)配置xinetd文件,让rsync服务允许被超级守护进程管理

   vim /etc/xinetd.d/rsync

   disable = yes 修改为no (意思就是允许xinetd管理)

 3)确认rsync守护进程已关闭

   netstat -lnptu|grep rsync

 4)启动xinetd服务

   /etc/init.d/xinetd start

2. 守护进程多模块功能配置

1)编辑配置文件,添加模块

 vim /etc/rsyncd.conf

    [backup]

    comment = "backup dir by oldboy"

    path = /backup

    [devbackup]

    comment = "backup dir by oldboy"

    path = /devbackup

    [sabackup]

    comment = "backup dir by oldboy"

    path = /sabackup

2)重启rsync服务

 方法一:killall rsync

 方法二:/etc/init.d/xinetd restart

3)创建其他备份目录,修改目录权限

 chown -R rsync.rsync /{backup ,devbackup,sabackup}/

4)rsync客户端测试

 rsync --delete -avz /etc/hosts [email protected]::sabackup  --password-file=/etc/rsync.password

 rsync --delete -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

 rsync --delete -avz /etc/hosts [email protected]::devbackup --password-file=/etc/rsync.password

 

3. 多模块多用户管理

1)创建多个用户(rsync、sa、dev)

  useradd -M -s /sbin/nologin sa    

2)修改rsync配置文件,创建多个模块

 注:配置文件分为两部分:

   1. 全局配置部分:对所有模块都生效

   2. 局部配置部分:对指定模块生效

 去掉全局配置的uid,gid,每个模块都写入对应的uid gid和对应的path路径

3)对每个模块的备份目录进行分别授权

 chown -R rsync.rsync /backup/

 chown -R sa.sa /backup/

 chown -R dev.dev /backup/

4)重启服务

 rsync --daemon

1.1.6 守护进程的排除功能实现

1. 创建测试环境:NFS服务器上操作

  mkdir /oldboy/{a..d}

  touch /oldboy/{a..d}/{1..3}.txt

2. 实现数据同步传输排除方法

1) --exclude实现排除需求:不要a和b 只要c目录所有数据 d目录中只要1和3文件

方法一:--exclude= 执行排除的文件或目录信息

    rsync -avz /oldboy_dir/ --exclude=a --exclude=b --exclude=d/2   [email protected]::backup   --password-file=/etc/rsync.password

方法二:--exclude-file= 指定排除的多个数据信息文件

    1. 将exclude.txt文件从同步数据目录中移出

    2.将exclude.txt排除文件放在/tmp/目录下

    注:在这个排除文件中,要排除的每个文件或者目录,单独占一行


1.1.7 守护进程来创建备份目录

  rsync -avz /oldboy_dir/c  [email protected]::backup/  --password-file=/etc/rsync.password

  注:无法实现创建多及目录(类似mkdir -p功能)

1.1.8 守护进程实现访问控制配置

白名单:hosts allow = 172.16.1.41/24

黑名单:hosts deny = 0.0.0.0/32

情况一:只有白名单

 只允许白名单的用户访问

情况二:只有黑名单

 允许不在黑名单的用户访问

情况三:白名单和黑名单中都没有的用户

 最后结果:允许

情况四:白名单和黑名单中都有的用户

 最后结果:允许

技术分享图片 

1.1.9 守护进程无差异同步配置

1. 实现无差异同步的方法:

  rsync -avz --delete /oldboy_dir/  [email protected]::backup   --password-file=/etc/rsync.password

  注:客户端加参数- -delete

2. 无差异同步:就是存储与备份服务数据完全一致(我有的数据你也有,我没有的你也别想有)

1.1.10  守护进程的列表功能配置

1. 配置文件中:

   list = true 可以让rsync客户端查看到rsync服务端的模块信息

   list = false 不可以让rsync客户端查看到rsync服务端的模块信息

    注:一般为false更安全,避免其他模块的用户知道信息后常识做一些手脚

2. 客户端查看方法:rsync -avz [email protected]::


以上是关于rsync备份服务(扩展)的主要内容,如果未能解决你的问题,请参考以下文章

rsync备份服务

RSYNC备份服务

如何使用 rsync 将 Windows 上的文件备份到 Linux 服务器上

Rsync备份服务

rsync备份服务器搭建部署

rsync备份