ubuntu下collectd生成文件存放目录结构为:
/var/lib/collectd/rrd/ip地址/类别/rrd文件
运用脚本一层层进入到rrd文件层,选择rrd文件,创建新的xml文件,最后运用rrdtool,将rrd文件内容转入xml文件。
脚本如下:
#!/bin/bash
echo "start...">>/usr/test.txt
date >> /usr/test.txt
oldext="rrd"
newext="xml"
function dir_list(){
for file in ` ls $1 `
do
echo "第一层:"$1"/"$file>>/usr/test.txt
for secfile in `ls $1"/"$file"/"`
do
echo "第二层:"$1"/"$file"/"$secfile>>/usr/test.txt
# 目录下oldext所对应相同扩展名文件
for thirdfile in $(ls $1"/"$file"/"$secfile | grep .$oldext)
do
echo "第三层:"$1"/"$file"/"$secfile"/"$thirdfile>>/usr/test.txt
# rrdtool生成rrd的xml
/usr/bin/rrdtool dump $1"/"$file"/"$secfile"/"$thirdfile>$1"/"$file"/"$secfile"/"${thirdfile%.*}.$newext
# 文件名
echo “filename: ${thirdfile%.*}”>>/usr/test.txt
# 文件扩展名
echo “extension: ${thirdfile##*.}”>>/usr/test.txt
echo “newfilename:${thirdfile%.*}.$newext”>>/usr/test.txt
done
done
done
echo "循环结束">>/usr/test.txt
}
INIT_PATH="/var/lib/collectd/rrd"
dir_list $INIT_PATH
echo "done">>/usr/test.txt
date >> /usr/test.txt