[rrd-users] Can this script be optimised ?
Simon Hobson
linux at thehobsons.co.uk
Wed Nov 28 13:23:58 CET 2012
I've just replaced an old (now broken) 1U rackmount server that was
running a router with a small system (Alix2, 500MHz AMD Geode). I've
been looking at other stuff (in particular, taking great care with
efficiency of TC filters) - this script seems to take a fair bit of
resource, can anyone see any optimisation I've missed ?
It's getting the outside interface byte count from the "RX
bytes:669179382 (638.1 MiB) TX bytes:2259193189 (2.1 GiB) " line
output by ifconfig. And updating a remote RRD every 2 seconds
(approx). The script is started by cron every minute, and exits
before the next minute starts.
#!/bin/bash
# Get traffic count from interface counters of global interface
EndTime=$(( `/bin/date +%s` + 58 ))
HostName=$( /usr/bin/head -1 /etc/hostname )
while [ $( /bin/date +%s ) -lt ${EndTime} ]
do
UpdateVal=$( /sbin/ifconfig ethext | \
/bin/grep 'RX bytes' | \
/bin/sed -r -e 's/^.*RX bytes:([0-9]+) .* TX bytes:([0-9]+) .*$/\1:\2/' )
/usr/bin/rrdtool update ${HostName}/global.rrd --daemon w.x.y.z
"N:${UpdateVal}"
sleep 2
done
--
Simon Hobson
Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.
More information about the rrd-users
mailing list