Cacti数据备份与迁移 (转载)

从网上申请到一篇文档,关于Cacti数据备份与迁移的[@more@]

Cacti数据备份与迁移

源自:贵州教育培训网 
--------------------------------------------------------------------------------


Cacti数据备份与迁移

一、工作流

安装mysql;php;apache;rrdtool后;

将cacti目录tarball后,复制到双线机房新监控服务器上解压;

cactid目录tarball后,复制到双线机房新监控服务器上解压;

mysql数据库dump或者tarball后,复制到双线机房新监控服务器上解压;

#mysqldump -p cacti >cacti.sql

重新赋予cactiuser对于数据库cacti所有权限;

grant all . cacti.* to cactiuser@localhost identified by "cactipassword";

二、故障发生

打开cacti可以正常登录和控制,检查graph management,打开所有的图无显示;于

是打开debug模式:

*Turn . Graph Debug Mode.

RRDTool Says:

ERROR: This RRD was created . other architecture

三、解决方案

google、baidu了一下,发生这个问题的原因是因为所有rrd库需要全部重新dump和

restore一次;

好了上脚本:

从老的cacti服务器上dump所有的rrd文件为xml file,共计9K多张:

#!/bin/sh

rrddump="/usr/bin/rrdtool dump"

xmldir=/tmp/rraxml

for file in `find /var/www/html/cacti/rra/ -mtime -2 |awk -F/ "{print

$NF}"`

#遍历rra目录,查找近2天修改过的rrd文件;

do

${rrddump} ${file} > ${xmldir}/${file}.xml

done

tar走rraxml目录到新监控服务器上解压:restore脚本如下:

#!/bin/sh

rrdrestore="/usr/bin/rrdtool restore"

xmldir=/tmp/rraxml/

for file in `find ${xmldir} |awk -F/ "{print $NF}" |sed s/.xml//g`

#遍历xml目录,并去掉xml后缀,直接还原到rra目录下

do

${rrdrestore} ${xmldir}${file}.xml /cacti/rra/${file}

done

chown cactiuser:cactiuser /cacti/rra -R

完成后,再次打开cacti监控显示正常;迁移成功;

用这个方法其实是用来备份rra的,这次正好顺便备份一下。

请使用浏览器的分享功能分享到微信等