On Sun, 27 Feb 2005 13:45:57 +0100 Elvis Cehajic <[EMAIL PROTECTED]> wrote:
> Hi, > Deine idee mit dem D�mon ist etwas abwegig, du wirst es nicht > schaffen, eine sicherere software als SSH zu schreiben. Eigentlich > spricht nichts gegen die Methode, sich schnell �ber ssh einzuloggen > und den Router herunterzufahren. (ev. als normaler User und halt mit > sudo ausf�hren) Das l�sst sich �brigens auch automtisieren, m�sstest > dazu mal googeln, wie's genau geht. > > Hier meine weiteren Ideen dazu: > 1. D�mon der �berpr�ft ob die Clients noch laufen und gegebenenfalls > en router herunterf�hrt. > Vorteil: Recht einfach zu implementieren > Nachteil: D�mon muess deaktiviert werden wenn der Router ohne Clients > laufen soll (z.B: Downloads, Filesharing, etc.) Genau diese L�sung habe ich bei mir laufen. Nachdem ich alles vom Server per NFS mounte, mu� der Server *nach* den Clients runtergefahren werden, weshalb alle andere L�sungen per remote-Zugriff nichts bringen (und ausserdem : wenn man's mal vergisst, mu� man den Client wieder hochfahren, damit man den Server runterfahren kann... recht unpraktisch). Skript ist unten attached (stammt von einem Kollegen). Tut nichts anderes als ein ping, und schaut, ob noch einer der Clients antwortet. Falls keine Antwort innerhalb von 10 Minuten, dann halt. Warum 10 Minuten ? 1. weil der Client manchmal beim Booten ein fsck durchf�hrt und 2. weil ich manchmal den Client reboote -> nicht zu wenig Zeit lassen, bevor halt ! Zus�tzliche L�sung : Hadware-L�sung, um die Kiste runterzufahren. 5 Euro Kosten f�r denjenigen, der auch L�ten kann. Beschreibung gibt's unter http://main.linuxfocus.org/~guido/#sled (sled Programm von Guido Socher). Damit kann ich jederzeit den Server per Knopfdruck runterfahren (wenn ich keine 10 Minuten warten will) Joel --autoshut.sh-- #!/bin/sh # # autoshut - poweroff if no remote host # #set -x ping_stat=0 # assume local host connected end_time=0 # current time until shut down inc_time=30 # time between connection tests hold_time=300 # max (=30 min) time until shut down local_hosts="client1 client2" # local hosts list (until [ $end_time -gt $hold_time ]; do # shut down time reached? until [ $ping_stat -eq 1 ]; do # no more local host connected? ping_stat=1 # assume no local host connected for host in $local_hosts; do # test local hosts ping -c 1 -i 2 -q $host > /dev/null ping_stat=`expr $? \& $ping_stat` # =0 if host connected done if [ $ping_stat -eq 0 ]; then # if local host connected end_time=0 # reset current time until shut down fi sleep $inc_time # pause between connection tests end_time=`expr $end_time + $inc_time` # increment current time to shut down done ping_stat=0 # assume reconnected local hosts done #echo jetzt kommt poweroff poweroff) exit 0

