I made this a while ago. It's crude but returns a number representing % of bandwidth used prorata, which you can use from a script to throttle accordingly.
Code:
#!/bin/bash
USERNAME="whateveryourlinodeiscalled"
wget -q -O - http://www.linode.com/members/bw/?user=${USERNAME} |
while read -s line ; do
if `echo $line | grep -q max_avail` ; then
maxavail="`echo $line | grep -o \>.*\< | sed -e 's:^.::' -e 's:.$::'`"
fi
if `echo $line | grep -q rx_bytes` ; then
rxbytes="`echo $line | grep -o \>.*\< | sed -e 's:^.::' -e 's:.$::'`"
fi
if `echo $line | grep -q tx_bytes` ; then
txbytes="`echo $line | grep -o \>.*\< | sed -e 's:^.::' -e 's:.$::'`"
fi
if `echo $line | grep -q total_bytes ` ; then
totalbytes="`echo $line | grep -o \>.*\< | sed -e 's:^.::' -e 's:.$::'`"
fi
if [ -n "$maxavail" -a -n "$totalbytes" ] ; then
days_per_month="$((`cal | xargs -n1 | tail -n 1`))"
hpm=`echo $(($days_per_month*24))`
day_of_month=`date +"%d"`
hour_of_day=`date +"%H"`
hour_of_month="$(((`date +%e`-1)*24+`date +%k`))"
bwperhour=`echo $((($maxavail+($maxavail%$hpm))/$hpm))`
consumedperhour=`echo $((($totalbytes+($totalbytes%$hour_of_month))/$hour_of_month))`
ratio=`echo $((100*$consumedperhour/$bwperhour))`
echo "$ratio"
break
fi
done