PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Intervall Ping ???



Enterprise
09-03-2004, 22:32
Hallo !!!

Kann mir jemand helfen ???
Wie könnte ein kleines Programm in der Shell aussehen , das
alle 2 Minuten ein Ping an eine bestimmte Addresse absetzt und
beobachtet , ist die gegensite da oder nicht.
Bei nicht da sein soll eine Aktion ausgeführt werden z.B ein Programm
gestartet werden.

mfg

Enterprise

Enterprise
09-03-2004, 23:21
Habe etwas geschrieben könnte das so richtig sein ???

#!/bin/bash

HOST="192.168.10.200"
# Anzahl der Pings
COUNT="1"

if ping -c $COUNT $HOST 1>&2 > /dev/null
then
echo "$HOST ist erreichbar"
else
# Wenn der Router nicht erreichbar ist
echo "$HOST ist nicht erreichbar !!!"
exit 1
fi

exit 0

Nun sollte nach dem else das script noch einloggen Z.B:
Login:root und Password:****** und shutdown -h now eingeben

Wie müßte ich das in das Script einfügen ???

mfg

Enterprise

peschmae
10-03-2004, 11:13
Bitte mal Anfangen Codetags zu verwenden [ code ] [ / code ] respektive den [#]-Button in der Toolbar.

Login geht afaik so nicht. Ich sehe drei Möglichkeiten:
1) Dein Script läuft als root (ultradoofe Idee)
2) Du erlaubst dem Benutzer unter dem das Script läuft das herunterfahren also
a) mit sudo (besser)
b) indem du /sbin/shutdown setuid root setzt (nicht so gut da dann für alle gültig und nicht nur den entsprechenden Benutzer - und weil die Einstellung nach manchen Updates futsch ist)

MfG Peschmä

systemdefender
10-03-2004, 17:30
also, ... ich wähle das tor 2, die perücke von rudi karell und einmal

#!/bin/bash
DEST="10.0.0.1"
ping $DEST -c 1 || \
( sleep 10; ping $DEST -c 1 || \
( sleep 240; ping $DEST -c 1 || \
( sleep 10; ping $DEST -c 1 || \
( poweroff & ))))
damit man $DEST (zur not) auch mal rebooten kann ;) ...

... und das ganze zum mitnehmen, aufgerufen von der /etc/crontab

gruss, sd.