jft DD-WRT Novice
Joined: 01 Jun 2012 Posts: 5
|
Posted: Wed Jul 18, 2012 12:29 Post subject: Clear Bandwidth Data - Keeping the number of months you want |
|
Run this script with a parameter that defines the number of months of traff data to keep.
Cron:
45 23 1 * * root sh /jffs/delTraffData.sh 4
The parameter 4 tells the script to keep the current month and the previous 3 months.
Run any day of the month.
Code: |
#!/bin/sh
#delete traff data leaving i number of months, includes current month
#if parameter is not provided then default to 1, which keeps current month only
if [ $1 -gt 0 ]; then i=$1; else i=1; fi
#get current date in a format compatable with the date -d switch
d=`date +%Y.%m.%d-%H:%M`
#loop back thur the calendar i number of months
#each iteration lands at the last day of the previous month
while [ $i -gt 0 ]; do
d=$(date -D %s -d $(( $(date -d $d +%s)-( $(date -d $d +%d)*86400))) +%Y.%m.%d-%H:%M)
i=$((--i))
done
#compare date derived above with nvram traff dates, both in terms of YYYYMM
for i in `nvram show |grep traff- |cut -d= -f1`; do
if [ $(echo $i |cut -c7-13 |awk -F'-' '{print $2,$1}' |cut -c1-4,6-7) -le $(date -d $d +%Y%m) ]; then
nvram unset $i
fi
done
|
|
|