Предлагаемый вашему вниманию скрипт предназначен для автоматической и быстрой настройки MRTG. Он написан на основе статьи MooSE.
Скрипт генерирует файлы конфигурации и скрипты для сбора статистики для mrtg.
#!/bin/bash #bkv 2007.06 #Скрипт для автоматической и быстрой настройки mrtg #Где будет конфиг cfpath='/etc/mrtg' #Куда складывать? logpath='/var/www/mrtg' #Перечисляем интерфейсы - если вручую IFACES='eth0 eth1' [ ! -f /usr/bin/mrtg ] && echo Не найден mrtg && exit [ ! -f /etc/gentoo-release ] && \ echo Написано для gentoo. Сделайте поправки для своей системы && exit #С каких интерфейсов снимать статистику? [ "$1" == "noauto" ] &&\ echo Используем переменную IFACES &&\ ifaces=$IFACES [ "$1" == "auto" ] &&\ ifaces=`ifconfig |grep ^[[:alpha:]]|sed 's/:.*//'|cut -f1 -d" "|uniq|tr "\n" " "` [ "$ifaces" == "" ] &&\ echo Use "$0 <auto|noauto>" && exit echo Настраиваем: $ifaces echo При отсутствии IP адреса интерфейс пропускается ... [ -f /etc/conf.d/mrtg ] && \ ( grep "/etc/mrtg/mrtg.conf" /etc/conf.d/mrtg|| \ sed -e 's/\/etc\/mrtg.conf/\/etc\/mrtg\/mrtg.conf/' /etc/conf.d/mrtg -i ) mkdir -m 700 -p $cfpath || exit 1 mkdir -m 700 -p $cfpath/scripts mkdir -m 755 -p $logpath || exit 1 echo -e " WorkDir:$logpath Refresh:300 RunAsDaemon: yes Interval: 5 NoMib2: yes Language:russian "> $cfpath/mrtg.conf for i in $ifaces; do title=`ifconfig $i|sed 's/^ *//'|grep "inet addr"` [ "$?" == "1" ]||(echo -e "\ #!/bin/bash if=\`basename \$0|cut -f2 -d.\` INPUT=\`ifconfig \$if| grep bytes | awk {'print \$2'}| sed "s/bytes://"\` OUTPUT=\`ifconfig \$if| grep bytes | awk {'print \$6'}| sed "s/bytes://"\` DATE=\`date +%s\` NAME=\$if echo \$INPUT echo \$OUTPUT echo \$DATE echo \$NAME " > /etc/mrtg/scripts/mrtg.$i && \ chmod 700 /etc/mrtg/scripts/mrtg.$i && \ echo -e "\ Target[$i]: \`/etc/mrtg/scripts/mrtg.$i\` MaxBytes[$i]: 10000000000 XSize[$i]: 600 YSize[$i]: 160 Title[$i]: $title PageTop[$i]: <h1>$title</h1> " >> $cfpath/mrtg.conf) done cd $logpath indexmaker --title="Network usage" --columns=1 --output=index.html $cfpath/mrtg.conf /etc/init.d/mrtg restart
MooSE 2007-06-14 08:40:22 (#)