cacti备份迁移
目的:实现cacti的监控冗余,保证在主服务器出现意外故障时,备用服务器可以监控起到监控数据的目的。

前期准备:

new server要安装好mysql及rrdtool,php等cacti安装环境必须程序,才能保证迁移过来后可以顺利访问。

old server 在操作前停止php的轮循、关闭snmp、apache等。备份完毕后恢复即可。

规划:

old server操作:

cacti迁移备份需要三个文件:1、数据库文件。2、cacti目录。3、rrd图像文件。

注意点:rrd图像文件如果不转换直接拷贝到冗余服务器上,经测试出现错误,无法正常访问。所以还是一定要转换下格式后再行迁移。

new server操作:

1、cacti目录存放 。2、数据库文件导入。3、rrd图像文件导入。

步骤:

1、old server 操作步骤:

#数据库备份
#mysql -ucacti -p cacti >/root/cacti.sql

#cacti目录备份
tar -czf /var/www/cacti.tgz /var/www/cacti(此处打包压缩,cacti目录中rra目录不做备份)

#rrd图像文件备份。(此处图像文件即:cacti目录中的rra目录下的所有文件)
此处备份使用脚本。内容如下:
#!/bin/bash
rrddump="/usr/bin/rrdtool dump"
xmldir=/data2/rraxml
rradir=/var/www/cacti/rra/
for file in `find ${rradir} -mtime -2 |awk -F\/ '{print $NF}'`
# find rra directory 2 days change
        do
                ${rrddump} ${rradir}${file} > ${xmldir}/${file}.xml
        done

保存为:bak.sh后,赋予执行权限。
chmod u+x bak.sh

完成后重新启动apache及spine轮循。

把old server备份的文件拖到new server上。

2、new server操作步骤:

#cacti目录恢复。
tar xvzf cacti.tgz

cp -rp cacti.tgz /data2/cacti

chown -R cacti cacti

#数据库恢复。

/usr/local/mysql/bin/mysql -uroot -p

mysql>create database cacti default character set utf8;

mysql>grant all privileges on cacti.* to cacti@localhost identified by '123.com';

mysql>flush privileges;

mysql>source /data2/cacti.bak/cacti.sql

恢复完成后退出。


#rrd文件恢复。
此处同样用shell脚本来恢复,脚本如下:
#!/bin/bash
rrdrestore="/usr/local/rrdtool/bin/rrdtool restore"
xmldir=/data2/cacti-67/rraxml/
for file in `find ${xmldir} |awk -F\/ '{print $NF}' |sed s/.xml//g`
        do
        echo $file
                ${rrdrestore} ${xmldir}${file}.xml /data2/cacti/rra/${file}
        done

保存为Recovery.sh,赋予执行权限。
chmod u+x Recovery.sh

./Recovery.sh

到此已基本迁移完成,重启服务

/usr/local/apache/bin/apachectl start

service snmpd restart