#!/bin/bash if [[ -z "$1" ]]; then echo "Please enter IP, ex.: $0 127.0.0.1" exit else echo "Logfile: /tmp/ping_$1" fi while true do while ! ping -c1 $1 &>/dev/null do echo "Ping Fail - `date`" >> /tmp/ping_$1 done echo "Host Found - `date`" >> /tmp/ping_$1 sleep 1 done
Клочки бумаги, на которых обычно ведутся записи, имеют обыкновение теряться, если их вовремя не подшить. Мысли на тему линукса, а может и не только его, - чтоб не забыть.
Показаны сообщения с ярлыком ping. Показать все сообщения
Показаны сообщения с ярлыком ping. Показать все сообщения
2016-04-01
Простейший пингер с логированием под bash
Собственно пингуем, ведем лог и это все что надо )
2009-05-13
Как в linux быстро и просто проверить, жив ли сервер?
Озаботился вопросом — как проверить на живость сервер и сервисы на нем? В моем случае это ряд цисок, файлсервера, да сервак Exchange. Разворачивать какую-то систему слежения там, где достаточно пинга да проверки портов, показалось слишком сложным. Бродя по инету наткнулся на довольно просто скриптец, использующий nmap для проверки открытых портов. Слегка попилив пришел к следующему:
Итого: легко и просто пиная скрипт cron'ом, мы проверяем живы ли наши сервера, и в случае абзаца наблюдаем в трее кто потерялся.
ЗЫ: А для раскраски синтаксиса был использован сервис http://highlight.hohli.com/
#!/bin/bash
# оригинальный скрипт: http://habrahabr.ru/sandbox/2096/
#
# Для работы требуются: nmap, libnotify-bin. Также
# необходимо создать рядом со скриптом файлик "servers",
# содержащий инфу об интересующих серверах в виде
# IP:PORT COMMENT, например:
#
# 192.168.310.254:443 1й снизу в левой стойке
# 192.168.410.254:80 вторая стойка, 3й снизу
#
# хватаем по строчке из списка, выхватываем часть до комментария,
# преобразуем двоеточие в " -p " и подсовываем nmap'у. Если последний
# не находит открытый порт на айпишнике — айпишник с портом записываются
# в файл serverlist (создается рядом со скриптом)
#
cat servers | while read line; do nmap `echo "${line}" | awk '{print($1)}'| sed -e 's/:/ -p /'` | grep -q "/tcp *open" || echo "${line}"; done > serverlist;
#
# Если serverlist не пуст, скидываем инфу о времени
# и инфу из serverlist в файл log (создается рядом со скриптом)
#
if (!( [ -z $(cat serverlist) ])); then
echo $DATENOW >> log
cat serverlist >> log
#
# для каждого айпишника из serverlist находится полная строка
# в servers (с комментарием). В начало каждой втыкается
# смайлег ಠ_ಠ, а в конце делается дополнительный перенос.
# Все это ложится в файл serverlist1, содержимое которого
# отправляется как системное уведомление.
#
cat serverlist| while read megaline; do grep "${megaline}" "servers"| sed -e 's/^/ಠ_ಠ /' | sed -e 's/$/\n/' ; done > serverlist1;
notify-send --expire-time=100000 АТАС-АТАС!! "`cat serverlist1`"
fi
exit
Итого: легко и просто пиная скрипт cron'ом, мы проверяем живы ли наши сервера, и в случае абзаца наблюдаем в трее кто потерялся.
ЗЫ: А для раскраски синтаксиса был использован сервис http://highlight.hohli.com/
Подписаться на:
Сообщения (Atom)