shell脚本——collectd目录下将rrd转化为xml

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



版权声明:本文为jndxjing原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。