я делаю чуть иначе, хотя и похоже. цель была: сделать удобную и простую систему подсчёта общего конторского трафика, но тоже без мускула и веб-морды с пхп (как во многих мануалах описывается).
к слову - я в курсе, что trafd может терять пакеты на слабом железе и при большой загрузке канала - но этих обстоятельств не обнаружено, и точность вполне подходящая...предположим, трафик считается на fxp0, и предварительные настройки уже сделаны (trafd установлен и запущен, раз в несколько минут дамп из памяти сограняется на диск, раз в сутки сохраняется в базу /usr/local/var/trafd/trafd.fxp0).
daily.sh - запускается раз в ночь для подсчёта ежедневного трафика:
#!/bin/sh
date=`date -v-1d '+%Y-%m-%d'`
fpath=/usr/local/var/trafd/$date
/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -n -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out
echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Daily traffic summary" root
при этом в файлах in.cf и out.cf указаны фильтры, для каких ip или подсетей считать суммарный трафик (в формате "to aa.bb.cc.dd/nn" и "from aa.bb.cc.dd/nn") - мне кажется, так удобнее, тем более что отдельно по разным ip мне не нужно (а если понадобится - потом можно отдельный скрипт написать).
monthly.sh - запускается в ночь на 1 число (важно: после daily.sh) для подсчёта суммарного трафика за прошедший месяц:
#!/bin/sh
date=`date -v-1m '+%Y-%m'`
fpath=/usr/local/var/trafd/$date
/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/in.cf > $fpath.in
/usr/local/bin/traflog -ans -i fxp0 -F /usr/local/etc/traffic/out.cf > $fpath.out
cp /usr/local/var/trafd/trafd.fxp0 $fpath.fxp0
rm /usr/local/var/trafd/trafd.fxp0
echo "Traffic of $date..." > $fpath.sum
echo -n " INCOMING: " >> $fpath.sum
grep "Summary" $fpath.in |awk '{ print $5 }' >> $fpath.sum
echo -n " OUTGOING: " >> $fpath.sum
grep "Summary" $fpath.out |awk '{ print $5 }' >> $fpath.sum
cat $fpath.sum | mail -s "Monthly traffic summary" root
при работе этих скриптов в /usr/local/var/trafd/ сохраняются как файлы с результатами ежедневной/ежемесячной обработки (подробно и краткой суммой), так и база trafd за каждый месяц - при этом "год-месяц[-день]" используются для наименования файлов, а при необходимости эти данные можно ещё как-то обработать (или удалить в случае ненужности).