Отправляем логи себе на почту

Решение опять же — изобретение велосипеда (а ля logwatch), себе — запомнить; другим — в копилку.

Итак сам скрипт :

#!/bin/bash
/bin/echo -e "Дата и время отчета : " `date +%d-%m-%Y` `date +%H:%M:%S`
delim="= ===============  = "
#текущая дата, для выборок из лог-файлов
curdate=`date | cut -d " " -f2`" "`date | cut -d " " -f3`
/bin/echo -e $delim "Компы не получившие адрес" $delim "\n"
#Смотрим есть ли компы, которые не получили адрес - будет строка DHCPOFFER
/bin/cat /var/log/dhcp3-server.log | grep -i "offer" | uniq -d | cut -d " " -f8
/bin/echo -e $delim "Лог подмены адресов АРП" $delim "\n"
/bin/cat /var/log/arpwatch.log
/bin/echo -e $delim "Лог биллинга" $delim "\n"
iconv -f cp1251 -t utf8 /var/log/stargazer.log
/bin/echo -e $delim "Свободная память" $delim "\n"
/usr/bin/free
/bin/echo -e $delim "Состояние системы" $delim "\n"
/usr/bin/top -b -n 1 | grep "load" -A 20
/bin/echo -e $delim "Упавшие хосты(свитчи/роутеры/прочее)" $delim "\n"
/bin/cat /install/pingg/log/dhost.log
/bin/echo -e $delim "Ошибки в syslog" $delim "\n"
/bin/cat /var/log/syslog | grep -i "error"
/bin/echo -e $delim "DHCP - сервера в сети" $delim "\n"
/bin/cat /install/dhcpdrop/logs/alert.log
/bin/echo -e $delim "Ошибки в daemon.log" $delim "\n"
/bin/cat /var/log/daemon.log | grep "$curdate" | grep -i "error"
/bin/echo -e $delim "Лог аутентификаций по SSH" $delim "\n"
/bin/cat /var/log/auth.log | grep "$curdate" | grep "sshd"

Дальше — нам нужно весь этот вывод отправить нам на почту. пишем в crontab всего 2 строчки:

30 */4 * * *    root    /install/minform/minform > /install/minform/minform.txt
35 */4 * * *    root    /bin/cat /install/minform/minform.txt | /usr/bin/mutt -s "Отчет системы за `date`" mail@mail.com

Вот собственно и весь скрипт.
Вопрос — а почему не воспользоваться уже готовым решением (logwatch) и изобретать велосипед ?
Ответ : есть свободное время, желание и собственные файлы вывода и формат вывода. Каждые 4 часа можно смотреть не сломалось ли там чего, пока мы отдыхаем на море :)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Изображения должны быть включены!