LINUX.ORG.RU

Сам я не программист на Си, но знаю что для знающих людей реализовать это не очень сложно, если не сказать просто...


0

0

Написать бы простенький демон на Си, который раз в n сек, пинговал бы n хостов (это наверное 3 штуки, ну если можно будет задать кол-во, то это вообще хорошо) и если хост не отвечает, записать это в логах, таймаут ожидания ответа не больше секунды. Через сколько секунд пинговать и массив хостов, можно задать в константах самой проги перед компиляцией (ну чтоб не мучиться с файлом конфигурации). Может у кого нить уже есть такое демон, и писать не надо... Спасибо...

anonymous

Ответ на: комментарий от anonymous

Когда запускаешь этот скрипт в котором:

while [ 1 ];
do
...
sleep 5
done

То он работает как дочерний процесс крона, а не хотелось бы.

anonymous
()
Ответ на: комментарий от anonymous

а зачем делаь while [ 1 ] ... sleep

не проще ли прописать в кроне запуск скрипта каждые 5 секунд???

anonymous
()

Есть у меня похожий демон, для мониторинга за серверами.
правда для твоего случая надо чутка переделывать.

Dead ★★★★
()
Ответ на: комментарий от anonymous

>не проще ли прописать в кроне запуск скрипта каждые 5 секунд???

А что, крон умеет скрипты каждые 5 секунд запускать???

>Есть у меня похожий демон, для мониторинга за серверами.

А можно на него посмотреть... Может я его для мвоих целей как нить присабачу..

anonymous
()
Ответ на: комментарий от anonymous

>www.sourceforge.net/search на предмет слова watchdog

Там совсем не то. Модуль ядра мне не нужен, не нужно сниферить трафик, и не нужно следить поднят или опущен интерфейс, и не нужно следить за кернел паниками за неправильныи логинами и т.д. Нужно просто пигануть пару хостов и когда отвта нет записать в лог, и всё.

anonymous
()
Ответ на: комментарий от anonymous

#!/usr/bin/perl

fork && exit;

$ip="127.0.0.1";

while(1)
{
system("ping -c1 $ip>/1.log");
sleep(5);
}

Пихаеш ето в /etc/inittab
...
ss:2345:once:/usr/local/bin/script.pl
...

Delay ★★
()
Ответ на: комментарий от Delay

Спасибо, но это же какие логи будут, как бы выбрать только те пинги. которые не удались и в лог их занести???

anonymous
()
Ответ на: комментарий от grustnoe

>ping -c 1 host || logger "host unreachable"

Не работает как нужно, да и не всегда хост анкричибл иногда просто не отвечает..

anonymous
()
Ответ на: комментарий от anonymous

#!/bin/bash
while true
do
ping -c 1 $1
if [ $? -eq 0 ]
then
echo $1 up
else
echo $1 down
fi
sleep 1
done

sS ★★★★★
()
Ответ на: комментарий от anonymous

там фишка простая один посылает запросы, а его клон принимает ответы, апршные, ицмп можно вырубить, а арп сложнее...

anonymous
()
Ответ на: комментарий от anonymous

>там фишка простая один посылает запросы, а его клон принимает ответы, апршные, ицмп можно вырубить, а арп сложнее...

arp будет работать только в текущем сегменте ...

sS ★★★★★
()
Ответ на: комментарий от sS

> arp будет работать только в текущем сегменте ... знаешь у меня на всю локалку работает...а там сегментов пять

anonymous
()
Ответ на: комментарий от anonymous

> arp будет работать только в текущем сегменте ...

>знаешь у меня на всю локалку работает...а там сегментов пять

Имеется ввиду не каскадирование хабов/свитчей а роутинг

arp не роутится в обычных сетях

sS ★★★★★
()
Ответ на: комментарий от sS

ну смотря чего надо, в моем случае действительно хабы всякие.

anonymous
()
2 апреля 2004 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.