[Gelöst] Server per Wol starten wenn Client hochfährt

Status
Für weitere Antworten geschlossen.

marneb

Neuer User
Mitglied seit
12 Nov 2006
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Aloha,

zunächst einmal, super Arbeit mit den mod. Macht die fritzbox deutlich besser!

Ich kämpfe z.Z. mit folgendem Szenario:
Ich habe zwei MVP-Clients von Hauppauge (streaming clients), mehrere Windows-Clients und eine Server, der diese Clients versorgt. Der Server wird zum Stromsparen runtergefahren, wenn kein client ping-bar ist. Fährt ein Windows-Client hoch, so startet er den server per wol automatisch. Da das Boot-OS auf den MVP nicht zu manipulieren ist, können diese den Server nicht hochfahren. Ich muss also dann immer den server selber hochfahren.

Meine Idee:
Ich möchte auf der fritzbox per crond alle paar minuten ein script starten, welches überprüft, ob eine der mvp pingbar ist. Ist dies der Fall, so soll der server per wol gestartet werden.
Evtl. kann vorher überprüft werden, ob der server nicht schon an ist. Aber so wichtig ist das nicht.

Meine (nicht funktionierende) Lösung:

EDIT: Das Script funktioniert jetzt (siehe 2. Beitrag)

Ich habe mir ein script zusammenkopiert und dieses per mvi erstellt:

Code:
#! /bin/sh
up=0;
for i in 5 6 ;
do ping -q -c1 192.168.0.$i &> /dev/null;
if [ "$?" -eq 0 ];
then up=1;
fi;

if [ $up -gt 0 ];
then ether-wake 00:14:2a:00:00:00;
fi;
done

Mein Problem:

Leider funktioniert es nicht so wie ich es will. Ich glaube, dass das Problem daran liegt, dass "ping" den errorcode nicht richtig übergibt?!? Also dass das "$?" nicht richtig gesetzt wird.
Zur Fehlersuche habe ich Kommentare eingefügt:
Code:
#! /bin/sh
up=0;
for i in 5 6 ;
do ping -q -c1 192.168.0.$i &> /dev/null;
if [ "$?" -eq 0 ];
then up=1;
[B]echo "up";[/B]
fi;

if [ $up -gt 0 ];
then ether-wake 00:14:2a:00:00:00;
else
[B] echo "nichts an";[/B]
fi;
done

Starte ich das Script per telnet wird aber folgendes ausgegeben:
Code:
/var/tmp/flash $ /tmp/flash/startserver
PING 192.168.0.5 (192.168.0.5): 56 data bytes
up
up
PING 192.168.0.6 (192.168.0.6): 56 data bytes
/var/tmp/flash $
--- 192.168.0.5 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

--- 192.168.0.6 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
/var/tmp/flash $

Irgendetwas läuft da ordentlich schief. Ich mache sehr wenig mit Linux, hab das Script jetzt aber schon mehrfach komplett verändert, es will aber einfach nicht.

Für einen kleinen Tipp wäre ich sehr dankbar.

Marneb


Meine Config:
Fritzbox 7050
dsmod 26-15.1
 
Zuletzt bearbeitet:
Ich antworte mir mal selbst. Ich habe jetzt ein script gefunden, welches ich gut abwandeln konnte. Diese funktioniert nun:
Code:
#! /bin/sh
count=1
kount=1
hosts="192.168.0.5 192.168.0.6"


count=$(ping -c 1 192.168.0.2 | grep 'received' |awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
for myhost in $hosts
do
 kount=$(ping -c 1 $myhost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $kount -ne 0 ]; then
    ether-wake 00:14:2a:00:00:00
  fi
done
fi

Leider wird es nicht von crond gestartet.

Ich habe jetzt testweise mal folgendes in die crontab geschrieben:
Code:
0-59/2 * * * ether-wake 00:04:4b:00:00:00

Der Rechner fährt aber nicht hoch.

Über die shell eingegeben, lässt "ether-wake 00:04:4b:00:00:00" den entsprechenden rechner hochfahren.

Ich habe crond auch schon per telnet mit den parameter -f gestartet, damit ausgegeben wird, was passiert. Es passiert aber leider nichts.

Hat jemand eine Idee wie ich crond zum laufen bekomme?

Danke

Marneb
 
Zuletzt bearbeitet:
Ein Sternchen mehr, und es geht. Es sind fünf Zeit-Spalten, nicht vier. Aus man 5 crontab:
Code:
field          allowed values
-----          --------------
minute         0-59
hour           0-23
day of month   1-31
month          1-12 (or names, see below)
day of week    0-7 (0 or 7 is Sun, or use names)
P.S.: Tröste Dich, ich mußte auch im Manual nachsehen, ich nutze cron auch selten.
 
Vielen Dank!

Immer diese kleinen Details, an denen es scheitert.

Aber immerhin hab ich heut emein erstes linux script geschrieben (angepasst) ;-)

Nochmals Danke.

Marneb
 
Status
Für weitere Antworten geschlossen.
Kostenlos!

Neueste Beiträge

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,959
Beiträge
2,277,859
Mitglieder
377,049
Neuestes Mitglied
_AAA_