PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hilfe für skripterstellung benötigt



watislav
07.01.03, 00:07
Hallo,

ich möchte gerne ein skript haben, welches nur etwas ausführt, wenn der ping an einen rechner noch geht z.b.

#!/bin/sh

$result= ping 192.168.0.2

if( $result="no connect" ) shutdown apache


also ich weiß das das hier oben total falsch ist aber deswegen frag ich ja wie es geht.

Danke für hilfreiche Antworten

Fokko

3qualizer
07.01.03, 00:15
if ping -c1 -w5 192.168.0.2; then
#shutdown apache;
fi
oder lang:

ping -c1 -w5 192.168.0.2;
if test $? == 0; then
#shutdown apache;
fi
Eric

watislav
07.01.03, 00:19
merkt das if statement dann schon selber, wenn der ping z.b. zurückgibt, das der host nicht online ist???

Bauchi
07.01.03, 00:24
mhhh okay

du hast dich ein wenig wiedersprüchlich ausgedrückt ...

du willst das etwas passiert wenn etwas anpingbar ist ...
in deinem beispiel machste aber was wenn ein host nicht anpingbar ist


#!/bin/bash
result=`ping 192.168.0.20 -c 1 -w 1`
echo $result | grep -e "0 received"
if ! test $? = 1 ; then /usr/local/schlagmichtot/apache/bin/apachectl stop;
fi


wobei man das washinter dem then steht variieren kann

edit: $? beeinhaltet den rückgabe wert des letzten abgelaufenen programmes .. wenn der einen fehler code beinhaltat (also nicht 0 ist) dann hat dein ping nicht hingehauen oder sonst was nicht hingehauen ...

die ander lösung ist aber auf jeden fall eleganter als meine

watislav
07.01.03, 00:29
Jo danke funzt einwandfrei