#!/usr/local/bin/bash
rrd_name=`echo $@`
rrd_ds=`echo $rrd_name | awk -F "_" '{print $1}'`
rrd_dir="/usr/home/flow/RRDs"
rrd_time=`date -v-200d -v0H -v0M -v0S "+%s"`
if [ "$rrd_name" ]; then
echo "Creating RRD \"$rrd_name\".."
rrdtool create $rrd_dir/${rrd_name}_in.rrd --start $rrd_time DS:${rrd_ds}_in:GAUGE:600:U:U RRA:AVERAGE:0.5:1:105120 RRA:MAX:0.5:1:105120
rrdtool create $rrd_dir/${rrd_name}_out.rrd --start $rrd_time DS:${rrd_ds}_out:GAUGE:600:U:U RRA:AVERAGE:0.5:1:105120 RRA:MAX:0.5:1:105120
echo
echo "RRD successfully created in $rrd_dir."
echo "Populating.."
filter="/usr/home/flow/Code/hq.fil"
rrd_dir="/usr/home/flow/RRDs"
for (( i=120; i>=0; i-- )) do
year=`date -v-${i}d "+%Y"`
year_month=`date -v-${i}d "+%Y-%m"`
year_month_day=`date -v-${i}d "+%Y-%m-%d"`
flow_dir="/usr/home/flow/Flows/outside/$year/$year_month/$year_month_day"
int=0
for (( j=1; j<=288; j++ )) do
let eint=int+300
now=`date -v-${i}d -v0H -v0M -v+${int}S +"%s"`
start=`date -v-${i}d -v0H -v0M -v+${int}S +"%Y-%m-%d %H:%M"`
end=`date -v-${i}d -v0H -v0M -v+${eint}S +"%Y-%m-%d %H:%M"`
in=`flow-cat -t "$start" -T "$end" $flow_dir/$record | flow-nfilter -f $filter -F in \
| flow-stat -f 15 | grep -v ^# | awk '{print $1}'`
#echo "$start => $end : $int : in= $in"
rrdtool update $rrd_dir/$rrd_name\_in.rrd $now:`echo $in`
out=`flow-cat -t "$start" -T "$end" $flow_dir/$record | flow-nfilter -f $filter -F out \
| flow-stat -f 15 | grep -v ^# | awk '{print $1}'`
rrdtool update $rrd_dir/$rrd_name\_out.rrd $now:`echo $out`
let int=int+300
done
done
else
echo "Usage: $0 <rrd name>"
fi