假定有两台服务器 A、B
其中A系统作为网站服务器,B作为远程容灾备份机。
远程容灾备份系统就是将A系统的数据通过守护进程定时备份到B服务器上,从而实现数据的远程容灾。
1、在A系统上配置rsync
修改/etc/rsyncd.conf文件,配置内容如下:
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
# [ftp]
# path = /home/ftp
# comment = ftp export area
[turtletl]
path = 需要备份的目录
comment = blog file
ignore errors
read only = no
write only = no
hosts allow = *
hosts deny =
list = false
uid = root
gid = root
auth users = 用户名
secrets file = /etc/server.pass
其中/etc/server.pass文件的内容如下:
用户名:密码
然后改变server.pass文件的权限
chmod 666 /etc/server.pass
2、启动rsync守护进程
rsync --daemon
3、在B系统上配置rsync
在B系统上不需要做任何配置,只需在/etc下创建一个server.pass文件,内容为A系统中server.pass中的密码即可,并且改变权限为600,同时执行以下命令就可以完成手动备份:
rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "debug*" 用户名@A服务器地址::A系统rsyncd.conf文件中的模块(如turtletl) 备份文件存放位置 --password-file /etc/server.pass
4、设置定时备份策略
假定客户端rsync在每天凌晨3点30分执行镜像备份操作,在B服务器上执行“crontab -e”,然后添加如下信息即可:
30 3 * * * rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "debug*" 用户名@A服务器地址::A系统rsyncd.conf文件中的模块(如turtletl) 备份文件存放位置 --password-file /etc/server.pass
至此一个简单的远程容灾备份系统就算是搭建好了,但是这并不是一个完美的容灾方案。
文章来源:http://www.turtletl.com