通过Rsync实现远程容灾备份

一、rsync简介
rsync是Linux系统下的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上,rsync有如下特性:
? 可以镜像保存整个目录树和文件系统
? 可以增量同步数据,文件传输效率高,因而同步时间很短。
? 可以保持原有文件的权限、时间等属性。
? 加密传输数据,保证了数据的安全性。


二、rsync的安装与使用
 接着我们通过实例详细介绍下rsync的使用方法,这里我们假定有A、B两个Linux系统,A系统运行业务,B系统作为A的一个远程容灾备份机,那么A系统就是rsync的服务端,B系统就是rsync的客户端。需要在A、B两个系统上都安装rsync软件,这样,在A系统上运行rsync守护进程,而B系统可以通过系统守护进程crontab来定时备份A系统上指定的数据。从而实现了数据的远程容灾。
我们的安装环境为:
操作系统:Red Hat Enterprise Linux Server release 5
内核版本:Linux web 2.6.18-8.el5
A系统IP地址:192.168.60.253
B系统IP地址:192.168.60.231

1、在A、B两个系统上安装rsync


rysnc的主页地址为:,我们这里下载的版本为rsync-3.0.4,接着进行编译安装:
[root@web ~]#tar zxvf rsync-3.0.4.tar.gz
[root@web ~]#cd rsync-3.0.4
[root@web rsync-3.0.4]# ./configure
[root@web rsync-3.0.4]# make
[root@web rsync-3.0.4]# make install
这样就完成了rsync的安装。

2、在A系统上配置rsync


rsync的配置文件为/etc/rsyncd.conf,在rsync安装完毕,默认是没有这个文件的,我们手动建立一个即可。rsyncd.conf文件是由一个或多个模块结构组成。该文件有全局参数和模块参数组成,一个模块定义从方括弧中的模块名开始,直到下个模块的定义开始。配置完毕的内容如下:
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[ixdba]
path = /webdata
comment = ixdba file
ignore errors
read only = true
list = false
uid = root
gid = root
auth users = backup
secrets file = /etc/server.pass
对上面每个选项的含义解释如下:
? uid   此选项指定当该模块传输文件时守护进程应该具有的用户ID,默认值是“nobody”。
? gid   此选项指定当该模块传输文件时守护进程应该具有的用户组ID。默认值为“nobody”。
? max connections  此选项指定模块的最大并发连接数量,以保护服务器,超过限制的连接请求,将被暂时限制。默认值是0,也就是没有限制。
? pid file 此选项用来指定rsync守护进程对应的PID文件路径。
? lock file 此选择指定支持max connections的锁文件,默认值是/var/run/rsyncd.lock。
? log file  此选项指定了rsync的日志输出文件路径。
? [ixdba] 表示定义一个模块的开始,ixdba就是对应的模块名称。
? path  此选项用来指定需要备份的文件或目录,必填项,这里指定的目录为/webdata。
? list  此选项设定当客户请求可以使用的模块列表时,该模块是否被列出。默认值是true,如果需要建立隐藏的模块。可以设置为false。
? auth users 此选项用来定义可以连接该模块的用户名,多个用户用空格或逗号分隔开。需要注意的是这里的用户和Linux系统用户没有任何关系。这里指定的用户是backup。
? secrets file  此选项指定一个包含“用户名:密码”格式的文件,用户名就是“auth users”选项定义的用户,密码可以随便指定,只要和客户端的secrets file对应起来就行。只有在auth users被定义时,该文件才起作用。系统默认没有这个文件,自己手动创建一个即可。

3、在A系统上启动rsync守护进程


执行如下指令启动rsync守护进程:
[root@web ~]# /usr/local/bin/rsync --daemon
[root@localhost /]# ps -ef|grep rsync
root     20278     1  0 16:29 ?        00:00:00 /usr/local/bin/rsync --daemon

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywjjw.html