#Записки о Unix/Linux/BSD/Solaris

Скрипт простого мониторинга с отправкой результатов на почту (на примере gmirror).
Автор Охальников Олег   
29:12:2010 г.
Постановка задачи следующая. Есть команда, возвращающая какой-то статус, если говорить о gmirror, то эта команда:

gmirror status

Выводит следующее: 
         Name          Status            Component
         mirror/gm0    COMPLETE          ad4
                                                 ad6
Будем сравнивать MD5 хэши нормального состояния и измененного, для этого выводим MD5 с нормальным статусом COMPLETE: 

# gmirror status | md5
  52a948bc6d41efe4b7e68dfcba048a7e

Почему MD5, а не ищем например по тексту "COMPLETE"? Можно и так и так, только с MD5 более универсально как мне кажется, можно применить в разных задачах.
Ну а теперь собственно сам скрипт: 

# -----------------------------------
# Created  Ohalnikov Oleg
# Support: http://unixa.ru
# -----------------------------------

#!/bin/sh

d=`date '+%Y%m%d'`
h="Hostname"
g=$(gmirror status)
m=" Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script "
x="52a948bc6d41efe4b7e68dfcba048a7e"
y=$(gmirror status | md5)
if [ $x != $y ]
then
echo "$g" | mail -s "Mirror change status $h $d" $m
fi
exit 0

Вначале определяем переменные:
d - дата в формате ГОДМЕСЯЦДЕНЬ (будем писать в тему письма)
h - Имя хоста, который мониторим (будем писать в тему письма)
g - тескт со статусом рейда (будем писать в тело письма)
m - адрес администратора
x -  значение MD5 при нормальном статусе
y - определяем текущее значения MD5, далее сравниваем значение правильное и текущее и если они разные - отправляем письмо.

Скрипт помещаем в crontab (в примере выполняется каждый день в 17:00)

0 17 * * * /root/script/gmstatus.sh


p.s. для RAID ar можно написать по аналогии, команда вывода статуса:

# atacontrol status ar0

  
  Если кому пригодится, тот же скрипт, но вместо MD5 ищем по слову COMPLETE:

# -----------------------------------
# Created Ohalnikov Oleg
# Support: http://unixa.ru
# -----------------------------------

#!/bin/sh

d=`date '+%Y%m%d'`
h="Hostname"
g=$(gmirror status)
m=" Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script "
y=$(gmirror status | grep COMPLETE | awk {'print $2'})
if [ $y != COMPLETE ]
then
echo "$g" | mail -s "Mirror change status $h $d" $m
fi
exit 0

На этом все.
Материал подготовил:
Охальников Олег aka H@wk!   

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code


Просмотров: 6402

  Ваш коментарий будет первым
RSS комментарии
 
« VmWare-Server скрипт бэкапа виртуальных машин   Crontab в будни и в выходные. Добавление правила в IPNAT по расписанию. »

#COMMENT

Блокируем Ylmf-pc на Exim, Bru...
Благодарю за кучу уцелевших нервов:) постоянно приходилось б...
30/05/17 00:02 More...
By Mus

Установка даты и времени в кон...
Спасибо
12/05/17 17:49 More...
By dushka

Раскладка в rdesktop
Огромное спасибо!
28/04/17 14:01 More...
By Виктор

Аутентификация средствами Apac...
подскажите как писать пороль цифры ?пж! :sigh
28/03/17 13:06 More...
By Лиза

Logwatch - мониторинг журналов...
Отлично, очень не хватало. Автору большое спасибо, пиши еще.
25/01/17 02:44 More...
By Gregg

#/tmp

Каким дистрибутивом Вы пользуетесь?