Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Скрипт для пинга хоста  (Прочитано 2846 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pashich-ssd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
    • Изготовление печатей в СПб круглосуточно
Скрипт для пинга хоста
« : 12 Декабря 2012, 23:43:12 »
Доброго времени. Прошу не пинать за избитость темы, гуглю уже достаточно продолжительное время, рабочего примера так и не нашел, в том числе и на данном форуме.

Итак, мне нужен пример bash скрипта, который каждые 30 минут пингует определенный адрес сайта, и если пинг не проходит, отправляет письмо на мыло, желательно через sendmail, чтобы попроще.

Поделитесь знаниями, кому не сложно. Буду отдельно признателен за комменты строк скрипта.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт для пинга хоста
« Ответ #1 : 13 Декабря 2012, 00:06:28 »
/etc/cron.d/test_ping_example.org
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin

30 * * * * root ping -qc1 example.org >/dev/null 2>&1 || mailx ...
Только вместо юзера root имеет смысл выбрать какого-нибудь с меньшими правами и почитать руководство по mailx.
« Последнее редактирование: 13 Декабря 2012, 00:10:11 от arcfi »

Оффлайн pashich-ssd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
    • Изготовление печатей в СПб круглосуточно
Re: Скрипт для пинга хоста
« Ответ #2 : 13 Декабря 2012, 00:33:41 »
почитал..... настроил, при попытке отправки вылазит ошибка
ssmtp: 553 5.7.1 Sender address rejected: not owned by auth user.
почта на яндексе....

Я нашел что эта ошибка возникает от того, что письмо отправляется не от адреса отправителя, но у меня
/etc/ssmtp/revaliases
root:ping@pashich-ssd.ru:smtp.yandex.ru:465
sudo nano /etc/ssmtp/ssmtp.conf
AuthUser=ping@pashich-ssd.ru

то есть адреса одинаковые...



Пользователь решил продолжить мысль 13 Декабря 2012, 00:57:19:
Разобрался :-) так как отправлял просто командой
ssmtp -t < test
то письмо пыталось идти от имени моего юзера, а в /etc/ssmtp/revaliases у меня написано
/etc/ssmtp/revaliases то есть надо было отправлять от рута
sudo ssmtp -t < test
 :)

Пользователь решил продолжить мысль 13 Декабря 2012, 01:03:55:
С ssmtp разобрался, теперь не понимаю с
ping -qc1 example.org >/dev/null 2>&1
поясните пожалуйста..

Пользователь решил продолжить мысль 13 Декабря 2012, 01:41:23:
sudo root ping -qc1 example.org >/dev/null 2>&1 || mailx admin@pashich-ssd.ru
Cc: 435
Subject: 55555555

и все, бесконечно задумывается
« Последнее редактирование: 13 Декабря 2012, 01:41:23 от pashich-ssd »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт для пинга хоста
« Ответ #3 : 13 Декабря 2012, 08:58:56 »
Вот, на примере:
$ ping -qc1 example.org >/dev/null 2>&1 || echo "Ping error"
$

$ ping -qc1 domain.not.exist >/dev/null 2>&1 || echo "Ping error"
Ping error
$

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Скрипт для пинга хоста
« Ответ #4 : 13 Декабря 2012, 09:20:35 »
L~$ ping -qc1 ya.ru >/dev/null 2>&1 && echo "Ping OK" || echo "Ping error"
Ping OK
L~$
Wars ~.o

Оффлайн Spect

  • Старожил
  • *
  • Сообщений: 1173
    • Просмотр профиля
Re: Скрипт для пинга хоста
« Ответ #5 : 31 Января 2014, 22:25:38 »
А если проверить доступность с http, то так можно?
$ curl -Is http://www.shellhacks.com | head -1
HTTP/1.1 200 OK
Читал тут http://www.shellhacks.com/ru/Proveryaem-Dostupnost-Sayta-iz-Komandnoy-Stroki-v-Linux
Ubuntu 16.04 LTS [x86-64]/i3-2100T/2*4G/1T HDD/Intel HD 2000
Hatsan Escort Aimguard Combo 12/76, 7+1

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.