获取CACTI RRD文件每天峰值的SHELL

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
url=" /var/www/html/rra/150/9517 .rrd
/var/www/html/rra/256/11345 .rrd
/var/www/html/rra/150/9518 .rrd"
 
fff=` echo  $url |  awk  '{print NF}' `
 
for ((i=1;i<=3;i++))
do
criqi=` date  +%s -d  "2016-04-11 00:00:00" `
eriqi=` date  +%s -d  "2016-04-11 23:59:00" `
ccriqi=` echo  "$criqi - 86400 * $i"  bc `
eeriqi=` echo  "$eriqi - 86400 * $i"  bc `
dt=` date  -d  "1970-01-01 UTC $eeriqi seconds"  +%F`
 
for ((x=1;x<=$fff;x++))
do
uu=` echo  $url |  awk  - v  a=${x}  '{print $a}' `
/usr/local/rrdtool/bin/rrdtool  fetch $uu MAX --start $ccriqi --end $eeriqi |  sed  -e  '/^$/d'  grep  - v  "traffic_out"  awk  '{printf "%f\n",$2}'  sed  's/\-nan/0.0000000000e+00/g'  >>  /tmp/test ${x}
done
 
                           ff=` cat  /tmp/test1  wc  -l`
                           for ((n=1;n<=$ff;n++))
                            do
                                 for ((y=1;y<=$fff;y++))
                                 do
                                 tt=` cat  /tmp/test ${y} |  sed  -n ${n}p`
                                 echo  $tt >>  /tmp/fud
                                 done
                                 aa=` cat  /tmp/fud  awk  '{sum+=$0}END{print sum}' `
                                 re=` echo  "$aa"  awk  '{sum=$0*8/1000000}END{printf "%.2f",sum}' `
                                 echo  $re >>  /tmp/testz
                                 rm  -rf  /tmp/fud
                           done
                                 td=` cat  /tmp/testz  sort  -nr |   sed  -n 1p`
                                 if  [ ` echo  "$td > 1000" | bc ` - eq  1 ]; then
                                 tpt=` echo  "scale=3;$td / 1000"  bc  awk  '{printf "%.2f",$0}' `
                                 echo  $tpt "G"  $dt
                                 echo  "$tpt" G " $dt"  >>  /root/qz .txt
                                 else
                                 echo  $td "M"  $dt
                                 echo  "$td" M " $dt"  >>  /root/qz .txt
                                 fi
 
for ((b=1;b<=$fff;b++))
do
rm  -rf  /tmp/test ${b}
done
rm  -rf  /tmp/testz
done ;

运行结果如下:

1
2
3
4
5
[root@cacti] # sh get_in
2.35G 2016-04-10
3.69G 2016-04-09
6.84G 2016-04-08
[root@cacti] #




      本文转自flyingzf  51CTO博客,原文链接:http://blog.51cto.com/flyingzf/1767273,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值