PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell Script AutoReboot



infex
12-01-2007, 09:14
Hi..
hab absolut keine ahnung wie ich ein script mit folgenden funktionen realisieren kann. Und zwar geht es darum meinen rechner wenn folgende bedingungen erfüllt sind neuzustarten

1. user/root von localhost eingelogt

und/oder

2. keine internetverbinung verfügbar

wenn diese länger als 2 minuten erfüllt sind.

:confused: :confused:
vielen dank

rais
13-01-2007, 22:35
Hallo... und Willkommen in dieser Runde :)

und/oder [/B]

2. keine internetverbinung verfügbar

wenn diese länger als 2 minuten erfüllt sind.

Das ist nicht Dein Ernst, oder? Bloß weil Du keinen Internetzugang mehr hast, willst Du den derzeit angemeldeten Benutzer aus seiner session schmeißen und den Rechner neu starten -- selbst, wenn es root ist? Das ist ja grober Unfug...
An Deiner Stelle würde ich mir eher überlegen, ob es nicht sinnvoller wäre, den entsprechenden daemon (wenn überhaupt) neu zu starten.
MfG,

infex
15-01-2007, 13:45
hi, und danke für deine antwort
was spricht denn dagegen? ich will es nicht als standart jeder linux distribution sondern nur auf einen server auf den ich auf jeden fall nie unter localhost connecten werde.. wenn shutdown sich als eine nummer zu hart heraus stellen sollte werde ich die eine zeile ggf. anpassen, soweit reichen meine fähigkeiten dann doch noch :)

möchte aus "w" herauslesen ob der string localhost bei dessen ausgabe vorkommt..
wie das am bestem mit der abfrage internetabindung abläuft --> etwa durch schleife ping -c 3 am besten durch mehrere server? oder gibt es eine elegante & einfache lösung..?

für hinweise die zur erleuchtung eines "manchmal" ahnungslosen linux users führen bin ich sehr dankbar

Linus
15-01-2007, 23:03
Man kann ein Skript machen, mit dem man den Access Point und die DNS-Server vom Provider anpingt und bei jedem Fehlschlag einen Count-Down-Timer runterzählen.

Ich checke meine Verbindung (ohne Zähler) so:



flag=0
# check DSL connection with pings to a near server, the access point or DNS servers and 7 s timeouts
for HOST in 12.34.56.78 212.114.152.1 194.25.2.129 193.189.244.197; do
{ ping -Q 0x02 -q -w 7 -c 1 -s 56 $HOST &> /dev/null ; }&& flag=1
done

# if no connection: restart connection
if [ $flag -eq 0 ]; then
....