The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от StarshiY emailИскать по авторуВ закладки on 30-Янв-03, 21:51  (MSK)
Ребят суть проблемы такова. Нужно делать машине ребут при отсуцтвии пинга к опребеленному ИП.
Зделал два файла.

rr.sh
------
#!/bin/sh
# Sozdaem file dlya analiza...
/bin/rm /home/star/ping/ping.txt
touch /home/star/ping/ping.txt

#Zapisivaem v File rezultaty
ping -c7 10.10.15.1 >> /home/star/ping/ping.txt

# 4itaem  iz /home/star/ping/ping.txt

i=1
exec < /home/star/ping/ping.txt
while read string
do
echo $string i=`expr $i + 1`

if [ $i -ne 3 ]
    then
fi
/bin/sh /home/star/ping/tru.sh $string

i=`expr $i + 1`
done
#/bin/sh /home/star/ping/tru.sh $l2
echo $l2
exit 0

tru.sh
-------
#!/bin/sh

#havaet 1-y elt!
ll=$1
l=7
if  [ $ll = $l ]
then
echo "REBOOTIM"
else
echo "Vsio normalno pingi idut"
exit 0
fi
exit 0


вообще у меня стал вопрос как прочитать данные из файла. чтобы просто сравнить определенную строчку допустим 4-ю. Начинается она с 7 (типа 7-мь раз пропинговать) второй файл тестит ее и и ести 7 совтадает -> будет ребут. А если пинги идут то ета строчка будет ниже и естественно ребута не будет.
Может кто поможет ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от spf Искать по авторуВ закладки on 31-Янв-03, 06:44  (MSK)
Можно сделать проще: прочитать man ping на предмет возвращаемого значения и написать скрипт примерно так:

if [ ! ping -c 3 host.dom ]
then
reboot
fi

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от StarshiY emailИскать по авторуВ закладки on 31-Янв-03, 11:25  (MSK)
>Можно сделать проще: прочитать man ping на предмет возвращаемого значения и написать
>скрипт примерно так:
>
>if [ ! ping -c 3 host.dom ]
>then
> reboot
>fi
И вот это готовый законченный скрипт ? %)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от StarshiY emailИскать по авторуВ закладки on 01-Фев-03, 02:34  (MSK)
>>Можно сделать проще: прочитать man ping на предмет возвращаемого значения и написать
>>скрипт примерно так:
>>
>>if [ ! ping -c 3 host.dom ]
>>then
>> reboot
>>fi
>И вот это готовый законченный скрипт ? %)

Если кому интересно - конечный вариант - такой


test.sh
------------
#!/bin/sh

ping -c7 10.10.15.1
if [ $?  -ge 1 ]
then
echo "pri starte ping 10.10.10.1 - ne poshli"  >> /home/star/ping/ping.txt
uptime >> /home/star/ping/ping.txt
reboot
else
echo "PolYOut NORMALNIY" >> /home/star/ping/ping.txt
uptime >> /home/star/ping/ping.txt
fi
exit 0

-----------
файл запусткется cron - ом черезкаждые 5-ть минут :)...
Еще раз спасибо за подсказку ...


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от StarshiY emailИскать по авторуВ закладки on 31-Янв-03, 13:44  (MSK)
>Можно сделать проще: прочитать man ping на предмет возвращаемого значения и написать
>скрипт примерно так:
>
>if [ ! ping -c 3 host.dom ]
>then
> reboot
>fi
#!/bin/sh
pup= ping -c3 192.168.0.2
if [ $pup ]
then
echo "Rebutim"
else
echo "NE rebutim"
fi

В исходном варанте - писал -с3 <- Унэкспектед оператор.
пришлось переделать немного. Но не спасло.
Да, если ставить пред ! $pup то выполняет then если не ставить - else.
В любом случае как не крути а выполняется ребут и при наличии пинга и прие его отсуцтвии :(. Помоги плиз

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Помогите закончить скрипт 'ребута' при отсуцтвии пинга."
Сообщение от StarshiY emailИскать по авторуВ закладки on 31-Янв-03, 13:48  (MSK)
>Можно сделать проще: прочитать man ping на предмет возвращаемого значения и написать
>скрипт примерно так:
>
>if [ ! ping -c 3 host.dom ]
>then
> reboot
>fi
RETURN VALUES
     The ping command returns an exit status of zero if at least one response
     was heard from the specified host; a status of two if the transmission
     was successful but no responses were received; or another value (from
     <sysexits.h>) if an error occurred.

Как я понимаю это то самое.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру