PDA

Bekijk de volledige versie : Router ausschalten - wie macht man's richtig?



Joern
30-11-2009, 12:22
Hallo,

ich plane, unseren Router (WL500g premium) mit einer Festplatte auszustatten.
Momentan schalten wir den Router nach Bedarf über eine Steckerleiste an und aus. Kann man das auch weiterhin so machen, wenn eine externe Festplatte am USB-Port hängt, oder sind da Probleme (Datenverlust) zu erwarten?
Ich will den Router nicht rund um die Uhr laufen lassen, und eine umständliche shutdown-Prozedur über ssh kommt auch nicht in Frage. (Ich brauche eine Lösung, die Frauen- bzw. Kinder-tauglich ist!)
Wie macht Ihr das mit dem Ausschalten? Und vor allem: wie macht man's richtig????

Danke für Eure Hinweise, Jörn.

akbor
30-11-2009, 12:38
In diesem Fall schlage ich dir meine Lösung vor: ich habe den roten EZ-Setup Taster mit der Shutdown-Funktion belegt (habe für ihn eher keine andere Verwendung). Das heißt, ich habe die Datei /usr/local/sbin/ez-setup angelegt, sie mit folgendem Inhalt gefüllt:

#!/bin/sh
halt
und sie ausführbar gemacht. Danach wird alles mit flashfs save && flashfs commit && flashfs enable im Flash gesichert.

Jetzt brauche ich den roten Taster nur so lange gedrückt zu halten, bis die Power-LED anfängt zu blinken. Danach fährt der Router sauber runter (sieht man daran, dass die power-LED irgendwann mal ganz ausgeht!) und kann vom Strom getrennt werden.

Da du von SSH gesprochen hast, gehe ich davon aus, du weißt wenigstens so ungefähr, wie es mit den Startscripts funktioniert. Ansonsten ist Wengi's HowTo (http://www.wl500g.info/showthread.php?t=8424) sehr empfehlenswert.

Gruß

Robert

P.S.: die Lösung wird wahrscheinlich doch nicht frauen- und kindertauglich sein, der Taster ist sehr klein und er ist hinten, habe aber bis jetzt keine einfachere lösung gefunden.

!gm
30-11-2009, 12:51
ich hab bei mir den EZ-Button zum
mounten/unmounten der festplatte programmiert

..... hier stand viel von dem was akbor schon schreibt :D ....

ich mounte die festplatte nur, wenn ich sie brauche (scsi start/stop funktioniert mit meinen festplattengehäuse nicht :( )
problematisch für den router selbst ist das vom Strom nehmen nicht, oder?
eher für die HDD


#! /bin/sh
if [ -d /opt/bin ]
then
/opt/etc/init.d/rc.unslung stop
sleep 10s
umount /opt
umount /tmp/mnt/disc0_3
swapoff -a
else
swapon -a
mount -a
/opt/etc/init.d/rc.unslung start
fi


achso - und wenn jmd. nen hinweis hat, wie ich eleganter festelle, ob schon gemountet, dann hier :)

carterb
30-11-2009, 14:18
Hi,

akbors Anleitung ist sauber und gut.

Zum Thema mount:


#!/bin/bash

mounted=`mount | grep /yourmountpoint`

if [ "$mounted" ]; then
echo "Platte gemounted."

else
echo "Platte ist nicht gemountet."
fi

Ich verwende halt den mount-Befehl, da er genau für diese Anwenung dient.

Paddy65305
18-12-2009, 13:37
Kann man das ganze auch irgendwie auf das WL-HDD übertragen. Ich vermisse das abschalten per Webinterface aus Orginalfirmwäre...:(


kann man mit dem PHP nicht per exec befehl "halt -p" aufrufen und dann macht der shutdown und führt auch automatisch das script aus.
Weil meine Platte hängt an Wand und man kommt nur schlecht an den Knopf am Gerät.

akbor
18-12-2009, 13:53
Also ein wenig zu lesen und zu suchen schadet überhaupt nicht!


Restore to defaults/shutdown are now called using RESTORE/RESET button as follows:

* first 3 seconds - power LED on: release button to do nothing
* next 5 seconds - power LED off: release button to "shutdown"
* next 5 seconds - power LED blinking: release button to reset to defaults
* start over

so verhält sich die Oleg-FW für WL-HDD ab der Version 1.9.2.7-6 und bis zu der letzten Version 1.9.2.7-9. Wobei in der letzten offiziellen Version gab's irgendeinen Bug, der den Shutdown verhindert hat. Die Suche ist dein Freund ;)

Gruß

Robert

P.S.: das hier (http://oleg.wl500g.info/wlhdd/WLHDD-1.9.2.7-9.1.12.trx) ist die allerletzte FW-Version, die WL-HDD noch unterstutzt und frei vom Shutdown-Bug ist!

newbiefan
18-12-2009, 16:14
Noch eine Möglichkeit aus dem russischen Forum:



#! /bin/sh

logger -t pre-shutdown "$* started."

/opt/etc/init.d/rc.unslung stop

sleep 10s

sync

for i in `cat /proc/mounts | sort -r | awk '/ext3/{print($1)}'`
do
[ -n "`/opt/sbin/lsof -t "$i"`" ] &&
/opt/sbin/lsof -t "$i" | sort -nr | xargs kill -9
sleep 2s
/bin/mount -oremount,ro $i
done

swapoff -a

sleep 1s



Es ist eine verbesserte Version des pre-shutdown scripts, erfordert aber installierte Tools (lsof). Der Script stoppt alle Programme, welche auf /opt od. /tmp/mnt/disc0_3 usw. liegen oder zeigen, unabhängig davon, ob diese mit dem rc.unslung script gestoppt wurden. So kann man auch alle selbst gestarteten Progs killen, ohne jedes mal ein killall xxxxx aufrufen zu müssen.
Das macht Sinn, wenn man z.Bspl. den eingebauten vsftpd ohne Startscript gestartet hat (post-boot, post-mount) und die Logfiles z.Bspl. auf /opt/var/log liegen usw....

!gm
19-12-2009, 17:27
sauber newbie :)