关于我们
技术分享
技术分享
rsync搭建远程容灾备份系统
rsync搭建远程容灾备份系统
2021-06-08
Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync的优点:
①可以镜像保存整个目录树和文件系统;
②可以很容易做到保持原来文件的权限、时间、软硬链接等;
③无须特殊权限即可安装;
④优化的流程,文件传输效率高;
⑤可以使用rsh、ssh等方式来传输文件,当然也可以通过直接的socket连接;
⑥支持匿名传输
来自高俊锋大大的book
案例描述:
某电子商务网站,web服务器的位linux,网站数据每天都在变更,为了保证数据安全,需要建立一个远程容灾系统,将网站数据在每天凌晨3点30分备份到远程的容灾服务器上。由于数据量很大,每天只能进行增量备份
解决方案:
假定网站服务器为A服务器,rsync服务器为B服务器,B作为A的远程容灾备份。
需要在AB两个系统上都安装rsync软件,这样,在A系统上运行rsync守护进程
而在B系统上可以通过系统守护进程crontab来定时备份由A系统指定的数据,从而实现数据的远程容灾。
系统环境:
Centos 5 内核2.6.18
A: 192.168.12.253
B: 192.168.12.231
----------------------------------------
步骤一、分别在两台服务器上安装rsync
#tar zxvf rsync-*
#cd rsync*
# ./configure && make && make install
--------------------------------------
步骤二、在A系统上配置rsync
配置文件:/etc/rsync.conf 需要手动建立。
rsync.conf文件有一个或多个模块结构组成,相应的,包括全局参数和模块参数,
一个模块定义从方括弧中的模块名开始,直到下个模块定义开始。
具体配置如下:
;uid = nobody
;gid = nobody
;use chroot = no
;max connections = 10
;strict modes = yes
;pid file = /var/run/rsyncd.pid
;lock file = /var/run/rsync.lock
;log file = /var/log/rsyncd.log
[xxwg]
;path = /test
;comment = xxwg file
;ignore errors
;read only = no
;write only = no
;hosts allow = *
;hosts deny = 192.168.12.100
;list = false
;uid = root
;gid = root
;auth users = backup #注:此账号只是用来传输上的验证,并不需要在系统里新建账号
;secrets file = /etc/server.pass
其中,/etc/server.pass内容如下:(server.pass 文件保持属主的600权限)
;backup:123456
启动rsync守护进程
#/usr/local/bin/rsync --daemon
# ps -ef | grep rsync
--------------------------------------------
步骤三:在B系统上安装配置rsync
在备份机上不用做任何设置,只需要执行rsync同步操作即可。
为了在同步过程中不用输入密码,需要在B系统上创建一个secrets file,此文件的内容为A系统rsyncd.conf文件中 auth users 选项指定用户的密码,路径随意,只需在执行rsync同步时指定即可。
同步命令如下:
这里要注意参数b,在一些资源性备份中,如图片,视频,文档等,应该加上,否则如果源硬盘数据损坏,就可能导致备份上的数据消失。后果很严重!!!
# /usr/local/bin/rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "debug" backup@192.168.12.253::xxwg /test --password-file=/etc/server.pass
注:此文件权限亦为600
---------------------------------------------
步骤四:设置定时备份策略
设定客户端rsync在每天凌晨3点30分执行镜像备份操作
30 3 * * * /usr/local/bin/rsync -vzrtopg --delete --progress --exclude "*access*" --exclude "debug" backup@192.168.12.253::xxwg /test --password-file=/etc/server.pass
提交crontab文件即可。
------------------------------------------
步骤五:查看定时备份执行情况
1. linux
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
2. unix
在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。
3. mail任务
在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。
- 标签:
-
行业资讯
您可能感兴趣的新闻 换一批
热门文章
现在下载,可享30天免费试用