由于生产系统有很多服务器和数据库,平时的日常备份很重要。但是没有遇到过灾难时备份最容易被忽略,但是灾难真的发生的时候,备份时最直接最有用的解决方法,虽然难免有部分数据的损失。rsync是一款配置简单,功能全面的安全备份软件,具体的功能介绍可以参考手册。
(一)备份服务器上的步骤
yum install rsync xinetd -y
vim /etc/xinetd.d/rsync
......将disable = yes 修改为 disable = no disable = no
(3)、修改防火墙策略,允许873端口(tcp/udp)
#直接修改/etc/sysconfig/iptables ,需要重启防火墙 /etc/init.d/iptables restart
#或者使用iptables命令
(4)、建立rsync的配置文件
vim /etc/rsyncd.conf 没有这个文件的话直接建立
################################################ 上面的配置是全局的,下面的段会继承上面设定的属性 这样一个简单实用的配置就好了
(5)、建立/etc/rsyncd.secrets文件
vim /etc/rsyncd.secrets
...... test:rsync-7-elevEn 格式 用户名:密码 该用户不要求是系统用户,rsyncd.secrets文件的权限要设定为600 ..... chmod 600 /etc/rsyncd.secrets
(6)、建立连接到服务器的客户端看到的欢迎信息文件/etc/rsyncd.motd
vim /etc/rsyncd.motd
...... Welcome to Window Server 2003 IIS ...... 这里的信息可以伪造
(7)、启动rsync
#启动
/etc/init.d/xinetd restart #查看873端口是否起来 netstat -an | grep 873 如果rsync启动成功的话可以看到873端口已经在监听了
(二)客户端的操作
复制代码代码如下:
#通过nc查看备份服务器的873是否可用
nc -z -vv Bak_Server_IP 873
(2)、建立认证文件,这里我们建立test用户的密码认证文件/etc/rsync.pass
vim /etc/rsync.pass
...... rsync-7-elevEn ...... chmod 600 /etc/rsync.pass 修改权限
(3)、连接服务器
#连接rsync 服务器,成功连接可以看到我们上面设定的伪造的欢迎信息
rsync -av test@Bak_Server_IP::mongobak --password-file=/etc/rsync.pass 会列出服务器上备份目录的内容
(4)、备份数据到rsync服务器
sync -av --progress /data/mongodb_bak/201106171856 test@Bak_Server_IP::mongobak --password-file=/etc/rsync.pass
(5)、将备份的数据拿到本地
sync -av --progress test@Bak_Server_IP::mongobak/201106171856 /data/mongodb --password-file=/etc/rsync.pass
(6)、备份脚本实例
#!/bin/bash
mongodump -d ygfs -o /data/mongodb_bak/4399S2/ #通过mongodump命令备份数据库,备份时间可以看文件修改时间 sleep 3 rsync -av --progress /data/mongodb_bak/4399S2 test@113.107.160.10::mongobak --password-file=/etc/rsync.pass #通过rsync将备份的数据库备份到远程的备份服务器,这里不对mongodump备份出来的数据压缩,因为rsync无法对压缩文件进行增量(更新)备份,这样虽然加大了硬盘空间的消耗,可是可以大大的加快备份速度。 然后将这个脚本加到计划任务中,在深夜执行,就完成了一个安全和系统的备份方案
(三)特别注意 |