Saturday, April 4, 2015

BSNL Data Usage Statistics

If you use BSNL broadband, getting to know your data usage pattern can be handy in predicting how fast you are burning your bandwidth. The following script will help provide a visual on your burn rate.
I run this on my 'perpetually connected' Raspberry Pi, via an hourly cron trigger.
#!/bin/bash

curl -sqk https://172.30.67.40/bsnlfup/usage.php \
     | grep '\(GB\|MB\|KB\)</td>' \
     | xargs echo `date` \
     | sed 's/<[^>]*>//g' >> /var/tmp/dataleft.log

awk '{
    dataleft = 0;
    if( NF == 8 ) {
        dataleft = $7 ;
        if( $8 == "GB" ) {
            dataleft = dataleft * 1024 ;
        }
        else if( $8 == "KB" ) {
            dataleft = dataleft / 1024 ;
        };
        printf( "%d %0.f\n", NR, dataleft ) ;
    };
}' /var/tmp/dataleft.log > /var/tmp/plotdata.txt

dataleft=`awk 'END{print $2}' < /var/tmp/plotdata.txt`

graph -T png -L "$dataleft MB left" -N x </var/tmp/plotdata.txt >/var/www/dataleft.png

No comments: