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


Автор Тема: Автоматическое пингование  (Прочитано 2623 раз)

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

Оффлайн shpakser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Автоматическое пингование
« : 29 Марта 2011, 20:30:08 »
Подскажите прогу для автоматического пингование хостов, так чтобы пинговала с заданным промежутком времени и при отсутствии пинга записывала в лог. Система ubuntu server.

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #1 : 29 Марта 2011, 21:29:34 »
#!/bin/bash
HOST=8.8.8.8
TIMEOUT=60
while true; do
  ping $HOST -c 3 &>/dev/null
  if [ $? -ne 0 ]; then
    echo "$(date +"%x %X") - host $HOST ping error" >>/var/log/connection.log
  fi
  sleep $TIMEOUT
done
сохраняем в файл, стам бит исполнения chmod +x file
« Последнее редактирование: 29 Марта 2011, 21:44:56 от censor »

Оффлайн shpakser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #2 : 29 Марта 2011, 22:02:11 »
А если хостов 64 шт. то как писать в поле HOST?

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #3 : 29 Марта 2011, 22:26:39 »
перебирай в цикле for
я дал каркас, поправить под свои нужды для админа сервера и сети на 64 хоста труда большого не должно составить.

Оффлайн shpakser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #4 : 29 Марта 2011, 22:47:54 »
Я в скриптах не силён, может всё таки окажите помощь?

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #5 : 29 Марта 2011, 22:56:45 »
https://help.ubuntu.ru/wiki/howto/script_to_copy_files_hawe_to_remote_pc
1. я не хочу делать за вас работу
2. учитесь думать самостоятельно
в статье описана процедура копирования по smb протоколу, но кусок скрипта подойдет для совмешения с тем что я вам уже написал.

Оффлайн shpakser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #6 : 30 Марта 2011, 00:22:22 »
Спасибо. Сделал.
Скрипт засунул в автозагрузку, все отлично работает. Но есть проблема, если мне надо изменить скрипт как его перезагрузить?

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #7 : 30 Марта 2011, 00:47:08 »
убивает твой запущенный скрипт
ps aux | grep имя_скрипта | awk '{print $2}' | xargs kill -9как один и вариантов, затем измени и запусти измененный

Оффлайн shpakser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #8 : 30 Марта 2011, 02:04:38 »
А нет параметра скрипта чтобы он сам перегружался???

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #9 : 30 Марта 2011, 06:06:01 »
А нет параметра скрипта чтобы он сам перегружался???
???
причина?

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #10 : 30 Марта 2011, 06:11:53 »
ps aux | grep имя_скрипта | awk '{print $2}' | xargs kill -9
kill -9 - это ужасно.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #11 : 30 Марта 2011, 06:14:16 »
kill -9 - это ужасно.
неоправданная жестокость))))

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Автоматическое пингование
« Ответ #12 : 30 Марта 2011, 06:51:35 »
Почему же народ так не любит pkill?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Автоматическое пингование
« Ответ #13 : 30 Марта 2011, 07:19:06 »
Зачем же убивать хорошие процессы?...

#! /bin/sh
TIMEOUT=60

while true; do
  [ -f /var/lib/checker/hosts.list ] && mv -f /var/lib/checker/hosts.list /var/lib/checker/hosts.check
  cat /var/lib/checker/hosts.check | while read host; do
    ...
  done
  sleep $TIMEOUT
done

При необходимости сменить пластинку - новый список хостов загоняется в /var/lib/checker/hosts.list
А "sleep $TIMEOUT" я бы переработал на ожидание определённого момента времени, чтобы интервалы между проверками не зависели от их количества.
« Последнее редактирование: 30 Марта 2011, 07:20:49 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

rapidsp

  • Гость
Re: Автоматическое пингование
« Ответ #14 : 30 Марта 2011, 10:58:28 »
Как вариант, посмотреть в сторону nagios.

 

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