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
转载于:https://blog.51cto.com/newyue/529839