Prüfen, ob Diskstation bereit ist.

Status
Für weitere Antworten geschlossen.

PommFriz

Benutzer
Mitglied seit
06. Jun 2014
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Ich habe die DS213 und folgendes Problem:
Ich möchte auf meinem Host-Rechner ein Script erstellen, welches mit 'wakeonlan' die DS213 einschaltet.
Dann soll überprüft werden, ob die Diskstation bereit ist, damit sie dann automatisch gemountet werden kann.

Was mir zu meinem Glück fehlt, ist ein Kriterium, ob die DS bereit ist.
'ping' funktioniert nicht, da schon eine Antwort kommt bevor gemountet werden könnte.
Was kann ich denn überprüfen ?

Gruß
Andreas
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.665
Punkte für Reaktionen
2.071
Punkte
829
Eigentlich sollte doch reichen, eine Schleife zu programmieren, die einen Mountversuch unternimmt und dann den exit-code zu prüfen. Hats nicht geklappt ein paar Sekunden schlafen und dann nächster Versuch, andernfalls bist Du fertig. Du solltest noch einen Zähler einbauen und die Versuche nach einer bestimmten Anzahl abbrechen, um eine mögliche Endlosschleife zu vermeiden. Ich kenne mich mit Windows Skriptprogrammierung nicht so gut aus, deshalb benutze ich Unix-Begriffe.
 

Erebus

Benutzer
Mitglied seit
10. Okt 2012
Beiträge
352
Punkte für Reaktionen
1
Punkte
18
set Host=X.X.X.X
:start
ping %Host% -n 0
IF ERRORLEVEL 0 GOTO okay
IF NOT ERRORLEVEL 0 GOTO end

:eek:kay -->sollte ": okay" ohne leerzeichen sein. Aber forum macht hier mist.
Net use irgendwas
:end

#Schnell zusammengeschraubt. Einfach noch anpassen...
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.665
Punkte für Reaktionen
2.071
Punkte
829
Aber Du testest hier doch über ping. Der TO schreibt jedoch mit recht, dass ein Ping zu früh erfolgreich ist, Samba seine Shares zu dem Zeitpunkt aber noch nicht bereitstellen kann.
 

PommFriz

Benutzer
Mitglied seit
06. Jun 2014
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hatte vergessen zu erwähnen:
Der Host ist auch Linux, kein Windoof!
 

Erebus

Benutzer
Mitglied seit
10. Okt 2012
Beiträge
352
Punkte für Reaktionen
1
Punkte
18
Dann so:
#!/bin/bash
VAR=`ping -s 1 -c 2 desknas > /dev/null; echo $?`

if [ $VAR -eq 0 ]; then
echo "NAS BOX is up - Mounting NAS Share"
mount /mnt/NAS | echo "NAS Mounted Successfully"
fi

if [ $VAR -gt 0 ]; then
wakeonlan 00:xx:xx:xx:xx:xx | echo "NAS not turned on. WOL sent to NAS"
fi

sleep 6m
if [ $VAR -eq 0 ]; then
echo "NAS is UP - Mounting NAS Share"
mount /mnt/NAS | echo "NAS Mounted Successfully"
fi

http://stackoverflow.com/questions/...ned-on-then-start-rsync-if-not-then-wol-and-t
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat