昨天建立了另外一台用做备份的服务器,现在这个备份小设想描述一下:
A为主邮件服务器,B为备份服务器.A.B安装的都是一样的邮件服务.正常情况下A进行收发邮件,现在将A,B都安装RSYNC.之后A每隔10分钟将需要的内容传输到B上一次(该内容为增量,第一次传输数据比较多,以后只传输增量内容,速度快).当A出现问题后,将B的IP改为A的.再service network restart 就可以了。中间仅丢失10分钟内的邮件.现在把方法简要描述一下:
1.假设A B 邮件服务器已做成
2.A和B上都安装RSYNC.(默认安装CENTOS 4.4的情况下已经有了RSYNC服务,在这里我删除旧的版本,安装的是
rsync-2.6.9-1.el4.rf
rpm -ivh rsync-2.6.9-1.el4.rf
3.在B上,也就是备份的服务器上做如下配置:(注意:我安装的版本默认没有rsyncd.conf和rsyncd.secrets 自己编辑这两个文件就可以了)
vi /etc/rsyncd.conf
然后添加:
[mail-backup]
path = /home/domains
auth users = root
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
然后:wq 保存退出.(我这一步做的配置很少.具体的rsyncd.conf配置有很多内容可添加.如果想备份其它的可以按如上添加更多的目录),
编辑一个:rsyncd.secrets 文件
vi /etc/rsyncd.secrets
输入用户名和密码,格式如下:
root:password
然后编辑启动项:
vi /etc/rc.d/rc.local
添加rsync服务:
/usr/bin/rsync --daemon
保存退出.
4.在A上编辑如下脚本:
vi /home/rsync-backup.sh
添加:
rsync -rlptgoDvHS --progress --delete --force --password-file=/etc/rsyncd.secrets /home/domains/
将该脚本属性改成755
chmod 755 /home/rsync-backup.sh
编辑一个:rsyncd.secrets 文件
vi /etc/rsyncd.secrets
添加密码进入该文件中(注意这台机器只添加密码,而B里添加的是用户名和密码)
password
保存退出.
5.现在可以./rsync-backup.sh测试一下.如果提示
[root@mail home]# ./rsync-backup.sh
building file list ...
6455 files to consider
证明已经成功,不然则检查密码设置.或其它地方有没出错.例如防火墙对应RSYNC的 873端口是否打开.
6.最后将脚本添加到crontab中.
crontab -e
添加如下内容
*/10 * * * * /home/rsync-backup.sh
:wq保存退出.
到此为止,就已经全部做完了。非常的简便哦!
阅读(2926) | 评论(0) | 转发(0) |