Rsync同步备份服务器数据解决方案

Leah发布于:2022-05-27阅读:0

一、rsync概述

rsync是linux快速增量备份工具用于系统下的数据镜像备份工具remotesync可远程同步,可在不同主机之间同步,可实现全备份和增量备份,保持链接和权限,采用优化同步算法,传输前压缩,非常适合架构集中备份或异地备份rsync支持本地复制或其他ssh、rsync主机同步。

Rsync同步备份服务器数据解决方案

二、rsync特性和有点

1)整个目录树和文件系统可以镜像保存

2)保持原始文件的权限、时间、软硬链接等都很容易。

3)安装无特殊权限

4)快速:第一次同步rsync复制所有内容,但将修改后的内容传输到下一个值

5)压缩传输:rysnc压缩和解压操作可在传输过程中进行,可使用较少的带宽

6)安全:可以使用scp、ssh等待文件传输

7)支持匿名传输,方便网站镜像

8)选择性维护:符号链接、硬链接、文件属性、权限、时间等

三、rync原理

1、操作模式和端口

1)采用C/S模式(实际上是点到点传输,直接使用rsync命令可以完成)

2)rsync监控端口为:873

2、解释四个名字

1)发起人:负责发起rsync同步操作的客户端称为启动端。我想通知服务器备份您的数据

2)备份源:客户端负责响应rsync需要备份的服务器称为备份源

3)服务:运行rsyncd一般来说,服务器需要备份

4)客户端:存储备份数据。

3、数据同步模式

1)推push:一台主机负责将数据传输给其他主机,服务器成本高,更适合后端服务器少的情况

2)拉pull:所有主机定期找到主机拉数据,可能会导致数据缓慢

推:目的主机配置为rsync服务器,源主机周期性的使用rysnc命令将要同步的目录推过去(需要备份的机器是客户端,存储备份的机器是服务端)

拉:源主机配置为rysnc定期使用定期使用服务器rync命令拉过要同步的目录(需要备份的机器是服务端,存储备份的机器是客户端)

四、rsync服务安装

1、由于rsync服务依赖xinetd服务,是使用超级服务来管理的,因此需要在目标机器上安装xined、rsync服务端

需要安装两台服务器:

xuegod200是源主机;xuegod210是目标主机

  1. [root@xuegod200~]#yum-yinstallxinetdrsync

  2. [root@xuegod210~]#yum-yinstallxinetdrsync

  3. [root@xuegod210~]#rsync--daemon#启动防护过程

  4. [root@xuegod210~]#netstat-antup|greprsync#查看rsync是否监控端口

  5. tcp000.0.0.0:8730.0.0.0:*LISTEN1706/rsync

  6. tcp600:::873::?LISTEN1706/rsync

2、rsynv命令选项

(1)-a:–archivearchivemode相当于权限保存模式-rlptgoD参数、归档、递归、保持属性等。

(2)-r:–recursive复制以下所有信息,递归处理。

(3)-p:–perms保留档案权限,文件的原始属性。

(4)-t:–times保留时间点,文件原始时间。

(5)-g:–group保留原属组。

(6)-o:–owner保留档案所有者(rootonly)。

(7)-D:–devices保留device资讯(rootonly)。

(8)-l:–links复制所有连接,复制连接文件。

(9)-z:–compress压缩模式,当数据传输到目的端进行文件压缩时。

(10)-H:–hard-links保留硬链接文件。

(11)-A:–acls保留ACL属性文件,需要配合–perms。

(12)-P:-P参数和--partial--progress同样,只是为了简化参数,表示传输进度。

(13)--version:输出rsync版本。

(14)-v:–verbose复杂的输出信息。

(15)-u:–update仅更新,即跳过现有的目标位置,文件时间晚于备份文件,不覆盖新文件。

(16)--port=PORT:定义rsyncd(daemon)要运行的port(预设为tcp873)。

(17)--delete:删除目标位置有些文件,备份源没有的文件。

(18)--password-file=FILE:从指定的密码文件中获取密码。

(19)--bwlimit=KBPS:限制I/O带宽。

(20)--filter“-filename需要过滤的文件。

(21)--exclude=filname:需要过滤的文件。

(22)--progress:显示备份过程。

注:常用的选项–avz

-z命令通常用于压缩小文件。数据量大的文件在传输过程中相对较慢。如果再次压缩,传输速度将更慢。因此,根据需要选择是否需要添加此参数

五、使用rsynv备份数据

例1:对xuegod63网站根目录/网站根目录/var/www/html目录备份到xuegod64的/web-back

服务器:xuegod63

客户端:xuegod64

步骤:

1、建立测试用户并添加密码(两个主机都需要操作)

  1. [root@xuegod200~]#useraddrget1&&echo“123456”|passwd--stdinrget1

  2. [root@xuegod210~]#useraddrget1&&echo“123456”|passwd--stdinrget1

2、创建/var/www/html目录,使用acl在不修改原属组和属主的情况下,增加目录rget1的rwx

  1. [root@xuegod200~]#mkdir-p/var/www/html

  2. [root@xuegod200~]#setfacl-R-muser:rget1:rwx/var/www/html

  3. [root@xuegod200~]#setfacl-R-mdefault:rget1:rwx/var/www/html

  4. [root@xuegod200~]#getfacl/var/www/html/

3、cp备份数据

  1. [root@xuegod200~]#cp-r/boot/*/var/www/html/

  2. [root@xuegod200~]#ll!$

4、到xuegod64创建备份目录并授权rget1用户权限

  1. [root@xuegod210~]#mkdir/web-back

  2. [root@xuegod210~]#chownrget1:/web-back/

  3. [root@xuegod210~]#ll/web-back/-d

  4. drwxr-xr-x2rget1rget165月1323:16/web-back/

5、使用rsync命令复制数据

使用rget1复制用户

  1. [root@xuegod200~]#rsync-avz/var/www/html/rget1@xuegod210:/web-back/#回车后输入对端密码

6、使用虚拟用户备份数据

1、rsync详细说明配置文件参数

注释:centos7安装命令后自动生成,centos6配置文件需要在不自动生成的情况下手动创建

1)rsyncd.conf配置文件:

配置文件分为全局参数和模块参数两部分。

全局参数:对rsync如果模块参数与全局参数冲突,则服务器生效。

模块参数:需要定义rsync定义输出目录的参数。

2)全局参数模块:

port#默认情况下,指定后台程序使用的端口号为873。

uid#该选项指定了模块传输文件时应具备的保护过程uid,配合gid默认值是选项使用可以确定哪些文件权限可以访问"nobody"。

gid#该选项指定了模块传输文件时应具备的保护过程gid。默认值为"nobody"。

maxconnections#指定该模块的最大并发连接数量以保护服务器,并告知超过限制的连接请求,然后再次尝试。默认值为0,即无限制。

lockfile#指定支持maxconnections默认值为/var/run/rsyncd.lock。

motdfile#"motdfile"参数用于指定消息文件,当客户连接到服务器时,文件的内容显示给客户,默认情况下没有motd文件的。

logfile#"logfile"指定rsync而不是发送日志文件syslog。

pidfile#指定rsync的pid文件通常指定为//var/run/rsyncd.pid存储过程ID文件位置。

hostsallow=#单个IP允许访问的客户机地址或网络地址。

3)常见的模块参数:

该服务器的格式必须以[共享模块名]的形式定义,这个名是在rsync客户端看到的名字其实很像samba服务器提供的共享名称。服务器真正同步的数据是通过的path来指定的。

|Comment |#在客户连接到模块列表时,向客户显示与模块名相连的描述。默认情况下没有描述定义。

path#必须指定该模块的备份目录树路径。

readonly#yes只允许下载,no将文件下载并上传到服务器上。

exclude#添加多个文件或目录(相对路径),用于指定由空间隔开的多个文件或目录exclude列表中。这相当于在客户命令中使用―exclude或----filter不下载或上传某些文件或目录(既不可访问)

excludefrom#指定一个包含exclude服务器从该文件中读取模模文件名exclude列表定义,每个文件或目录需要占用一行

include#不排除符合要求的文件或目录。这相当于在客户命令中使用–include指定模式,组合include和exclude复杂的exclude/include规则。

includefrom#指定一个包含include服务器从该文件中读取模模文件名include列表定义。

authusers#该选项指定了由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户与系统用户无关"authusers"如果设置了,客户端在发出模块连接请求后会被接受rsync请求challenged这里使用验证身份challenge/response认证协议。用户的名称和密码以明存储"secretsfile"在选项指定的文件中。在默认情况下,模块(即匿名)可以无需密码连接。

secretsfile#该选项指定了包含定义用户名的文件:密码对。只有在"authusers"文件只有在被定义时才能工作。每行包含一个文件username:passwd是的。一般来说,密码最好不要超过8个字符。没有默认securesfile注:文件的权限必须为600,否则客户端将无法连接到服务器。

hostsallow#指定哪些IP允许客户连接模块。定义可以是以下形式:

单个IP例如:192.167.0.1,多个IP或者网段需要用空格隔开。

例如:192.168.0.0/24,也可以写成192.168.0.0/255.255.255.0

“*这意味着默认允许所有主机连接。

hostsdeny#指定不允许连接rsync可使用服务器机hostsallow定义的方法。默认不是hostsdeny定义。

list#当客户要求使用模块列表时,应列出该选项。如果该选项设置为false,隐藏的模块可以创建。默认值是true。

timeout#可覆盖客户指定的选项IP时间过长。这个选项可以保证rsync服务器不会永远等待崩溃的客户端。加班单位为秒,0表示没有加班定义,这也是默认值rsync服务器来说,一个理想的数字是600

2、例:用配置文件定义目录输出

1)修改rsync配置文件

  1. [root@xuegod210etc]#catrsyncd.conf|grep-v“$ |#”

  2. uid=root#操作过程的身份

  3. gid=root#运行过程组

  4. address=192.168.11.210#监听的IP本服务器的地址IP地址,写错会无法启动rsync服务

  5. port=873#监听端口

  6. hostsallow=192.168.11.0/24#允许同步客户端的白名单IP地址,但网段或IP地址,*表示所有IP

  7. usechroot=yes#其他目录锁定后是否无法修改

  8. maxconnections=5#最大链接数

  9. pidfile=/var/run/rsyncd.pid#进程PID自动生成文件

  10. lockfile=/var/run/rsync.lock#maxconnections锁定参数文件

  11. logfile=/var/log/rsyncd.log#rsync日志文件位置

  12. motdfile=/etc/rsyncd.motd#需要手动创建登录提示信息

  13. [wwwroot]#共享模块名称

  14. path=/web-back/#路径,储存路径

  15. comment=usedforweb-dataroot#描述信息

  16. readonly=false#设置服务端文件的读写权限

  17. list=yes#是否允许查看模块信息

  18. authusers=rsyncuser#虚拟用户

  19. secretsfile=/etc/rsync.passwd#需要手动创建密码文件。格式:用户名:密码

2)创建相关文件,修改文件权限

创建提示信息文件

  1. [root@xuegod210etc]#echo“WelcometoBackupServer”>

  2. /etc/rsyncd.motd

  3. [root@xuegod210~]#chmod600/etc/rsyncd.motd

创建密码文件

  1. [root@xuegod210etc]#echo“rsyncuser:password123”>/etc/rsync.passwd

  2. [root@xuegod210~]#chmod600/etc/rsync.passwd#修改密码文件的权限

3)启动服务(启动rsync和xinetd服务)

  1. [root@xuegod210etc]#systemctlstartxinetd

  2. [root@xuegod210etc]#systemctlenablexinetd

  3. [root@xuegod210etc]#rsync--daemon--config=/etc/rsyncd.conf#加载配置文件

  4. [root@xuegod210etc]#!nets

  5. netstat-antup|greprsync

  6. tcp000.0.0.0:8730.0.0.0:*LISTEN1706/rsync

4)测试

语法:rsync选项用户名@备份源服务器ip::共享模块目标目录

  1. [root@xuegod200~]#rsync-avz/var/www/html/rsyncuser@xuegod210::wwwroot

5)密码处理

将密码保存在新文件中rsync命令中使用–password-file指定次文件即可

  1. [root@xuegod200~]#echo“password123”>>/root/passwd

  2. [root@xuegod200~]#chmod600passwd

  3. [root@xuegod200~]#rsync-avz/var/www/html/rsyncuser@xuegod210::wwwroot--password-file=/root/passwd#指定文件

6)定时自动备份脚本

  1. [root@xuegod200~]#vimautobackup.sh#编写脚本。

  2. #!/bin/bash

  3. rsync-avz/var/www/htmlrsyncuser@192.168.0.64::wwwroot–password-file=/etc/rsync.passwd

7)定义计划任务,实现定期备份

  1. [root@xuegod63~]#echo“013***sh/root/autoback.sh&”>>/var/spool/cron/root

注释:

1、address监控地址,必须是rsync服务端地址

2、必须将创建的密码文件和登录提示文件的权限修改为600,否则将执行rsync命令会报错

六、rsync sersync实现数据实时同步

一台装sersync、一台装rsync服务

sersync服务器(数据源、源主机):192.168.11.200

sysnc客户端(备份端、目标机器):192。168.11.210

1、安装sersync安装包(上传rpm包装到服务器中,然后解压缩)

  1. [root@xuegod200opt]#tarxf

  2. sersync2.5.4_64bit_binary_stable_final.tar.gz

  3. [root@xuegod200opt]#mvGNU-Linux-x86/sersync#更改一个容易记住的名字

  4. [root@xuegod200opt]#ls

  5. rhsersyncsersync2.5.4_64bit_binary_stable_final.tar.gz

注意:sersync是二进制安装包,不需要直接安装tar解压后,可直接使用

  1. [root@xuegod200opt]#cdrsync/

  2. [root@xuegod200sersync]#ls#这两个文件都是可执行文件

  3. confxml.xmlsersync2

2、配置sersync

  1. [root@xuegod200sersync]#cpconfxml.xmlconfxml.xml.bak#在修改配置之前,先备份

2.1在配置文件中修改24–28行,如下所示。

  1. [root@xuegod200sersync]#vimconfxml.xml

  2. #本地同步数据目录。
  3. #rsync模块名称

2.2修改31–34行,认证部分(rsync密码认证)

2.3由于配置文件需要调用密码文件,因此在服务端创建密码文件

  1. [root@xuegod130html]#echopasswd123>/etc/rsync.passwd

  2. [root@xuegod130html]#chmod600/etc/rsync.passwd

2.4开启serysnc守护过程同步数据

  1. [root@xuegod200sersync]#/opt/sersync/sersync2-d-r-o

  2. /opt/sersync/confxml.xml

3、测试

在200的/var/www/html查看210/web-back/目录的变化

  1. [root@xuegod210web-back]#watchls-l

4、设置sersync自动执行监控启动

  1. [root@xuegod200~]#vim/etc/rc.d/rc.local

  2. [root@xuegod200~]#tail-1!$

  3. tail-1/etc/rc.d/rc.local

  4. /opt/sersync/sersync2-d-r-o/opt/sersync/confxml.xml

5、添加脚本监控sersync正常运行

  1. [root@xuegod200~]#vim/opt/check_sersync.sh

  2. [root@xuegod200~]#cat!$

  3. cat/opt/check_sersync.sh

  4. #!/bin/bash

  5. sersync="/opt/sersync/sersync2"

  6. confxml="/opt/sersync/confxml.xml"

  7. status=$(psaux|grep‘sersync2’ |grep-v‘grep’ |wc-l)

  8. if[$status-eq0];then

  9. $sersync-d-r-o$confxml&

  10. else

  11. exit0

  12. fi

6、将脚本添加到定期任务中,定义检查sersync是否正常

  1. [root@xuegod200~]#crontab-e

  2. nocrontabforroot-usinganemptyone

  3. crontab:installingnewcrontab

  4. [root@xuegod200~]#crontab-l

  5. 012***sh/opt/check_sersync.sh

微云网络提供Rsync同步备份服务器数据解决方案,详情请咨询客服400-028-9798,官网www.KD010.com

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/fwqjs/10154.html

TAG标签:备份服务器

上一篇:微云网络在线业务服务器解决方案
下一篇:哪些行业比较适合使用秦皇岛高防服务器

相关文章

返回顶部