Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Shellscript: Router Shutdown

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
darkchill
Gast





BeitragVerfasst am: 04. Sep 2003 14:26   Titel: Shellscript: Router Shutdown

Hi,

ich hab folgendes Problem.

Ich will einen Router aufsetzten und da mir ein Dauerbetrieb zu viel Strom kostet, will ich ihn ausschalten wenn ihn keiner brauch.

In meinem Netzwerk befinden sich 3 PC´s
1 - 10.0.0.1
2 - 10.0.0.2
3 - 10.0.0.3

Das Script soll PC1 anpingen und wenn der Rechner nicht reagiert soll er PC2 anpingen usw.
Falls eins PC antwortet soll das Script beendet werden.
Und afalls alle Pings negativ waren, soll shutdown-h now ausgeführt werden.
Per Cron Job lass ich das Script 10 minütig laufen.

Ich hab versucht die Ping-Routine mit if-else zu machen, ging aber irgendwie nicht. Ich musste immer wenn ein Ping fehlgeschlagen war den Ping Vorgang mit STRG+C unterbrechen bevor der 2 Ping starten konnte.

Und im Pinmg Befehl selbst hab ich auch keine IP-Range Funktion gefunden die z.B. ping 10.0.0.1-3 durchführt.

Wie kann ich die Ping Routine durchführen??
 

ratte
Gast





BeitragVerfasst am: 04. Sep 2003 14:54   Titel: Re: Shellscript: Router Shutdown

Auszug aus man ping: -c count Stop after sending count ECHO_REQUEST packets.

noch Fragen?

ratte
 

Zaphod
Gast





BeitragVerfasst am: 04. Sep 2003 16:29   Titel: Re: Shellscript: Router Shutdown

Hi!

Ich habe in etwa das selbe gemacht, einfach mit einem Fileserver anstatt einem Router. Vielleicht kannst du mein Script als Ausgangslage gebrauchen:

code:

#!/bin/bash
#==========================================================#
# alive - check wether a host is still running #
#==========================================================#

alive=0

ZAPHOD="10.42.1.1"
ARTHUR="10.42.1.2"
FORD="10.42.1.3"
MARVIN="10.42.1.4"
MARVIN_WLAN="10.42.3.1"

if ping -c 1 -w 1 $ZAPHOD >/dev/null
then alive=1
fi

if ping -c 1 -w 1 $ARTHUR >/dev/null
then alive=1
fi

if ping -c 1 -w 1 $FORD >/dev/null
then alive=1
fi

if ping -c 1 -w 1 $MARVIN >/dev/null
then alive=1
fi

if ping -c 1 -w 1 $MARVIN_WLAN >/dev/null
then alive=1
fi

if [ $alive -eq 0 ]
then echo "$(date) - clients are down" >> /var/log/ping_shutdown.log
pstree |grep fs_backup >/dev/null
if [ $? -eq 0 ]
then echo "$(date) - fs_backup is running" >> /var/log/ping_shutdown.log
echo "$(date) - don't shut down" >> /var/log/ping_shutdown.log
else
echo "$(date) - fs_backup is not running" >> /var/log/ping_shutdown.log
/sbin/halt -p
echo "$(date) - shutting down" >> /var/log/ping_shutdown.log
fi
#else
# echo "$(date) - clients are alive" >> /var/log/ping_shutdown.log
fi



Es liesse sich sicherlich etwas einfacher schreiben (z.B. ping innerhalb einer Iteration über ein Array mit IP-Adressen), aber es funktioniert und was will man mehr?

Gruss,
Zaphod
 

Zaphod
Gast





BeitragVerfasst am: 04. Sep 2003 16:31   Titel: Re: Shellscript: Router Shutdown

Noch eine kurze Anmerkung: Ich gehe davon aus, dass du auf dem Router GNU/Linux verwendest. Beim Ping anderer Unix-System (z.B. FreeBSD) müsste der Aufruf

code:

ping -c 1 -t 1 $IP



sein.
 

Zaphod
Gast





BeitragVerfasst am: 04. Sep 2003 16:40   Titel: Re: Shellscript: Router Shutdown

Und wenn du mehrere Hosts auf einmal pingen willst, solltest du dir mal fping ansehen. Bei FreeBSD kannst du es einfach aus den Ports installieren:

code:

#cd /usr/ports/net/fping
#make install clean



Für Debian GNU/Linux gibt es ein Package und sonst musst du es aus den Quellen kompilieren.
 

darkchill
Gast





BeitragVerfasst am: 04. Sep 2003 16:58   Titel: Re: Shellscript: Router Shutdown

Danke für alle Postings.

Das mit dem -c wusste ich schon. Das hatte nichts mit der STRG+C unterbrechung zu tun die ich immer machen musste.

Das fping schau ich mir mal genauer an. Und das Script werd ich auch mal modifizieren.

Danke nochmals
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy