Скрипт для автоматической и быстрой настройки MRTG

()

Предлагаемый вашему вниманию скрипт предназначен для автоматической и быстрой настройки 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

Ключевые слова: mrtg, gentoo, linux.

Подписаться на обновления: RSS-лента Канал в TamTam Telegram канал Канал в ICQ

Комментарии:

MooSE 2007-06-14 08:40:22 (#)

Ссори что долго не подтверждал. Всё руки не доходили оформить скрипт в HTML.

Константин 2007-06-15 12:47:04 (#)

Спасибо!
Ошибка закралась:
#Куда складывать ? logpath='/var/www/mrtg'
Нужно в две строки
#Куда складывать ?
logpath='/var/www/mrtg'

MooSE 2007-06-15 15:29:31 (#)

Ошибка закралась. Поправил. Спасибо:)
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2024 Вадим Калинников aka MooSE
Политика конфиденциальности