#!/bin/bash # Requires vnstat to be running on target system set -eo pipefail # you cann add u into -eo, but it drives me nuts so I won't if [[ -n "${BASHD_DEBUG}" ]]; then # a inevitability that this will be used set -x fi trap cleanup EXIT # A little more robust cleanup cleanup() { # We can clean up any temp files or what nots, but for now a place holder true } # initial values mtotal=1000 # monthly total in GB for high end cut off dmax=40 # daily max usage value md=`date +%d` # day of the month numerically cmd=$(($dmax * $md)) # computed max daily wif="wan" # now vnstat stuff, some of this is specific to openwrt vnhourly=`vnstat -i $wif -d -s --oneline | awk -F\; '{print $6}'` # total monthly usage vnmonthly=`vnstat -i $wif -d -s --oneline | awk -F\; '{print $11}'` # daily total usage logger "dom $md cm $cmd vnhourly $vnhourly vnmonthly $vnmonthly"; curl -d "dom $md cm $cmd vnhourly $vnhourly vnmonthly $vnmonthly" 192.168.1.168:83/bandmon