WD My Cloud EX2 Ultra Detailaufnahme Frontansicht und Ausschnitt des Skripts shutdwn.sh
Startseite » Sonstiges » My Cloud herunterfahren und starten per Skript

My Cloud herunterfahren und starten per Skript

15. April 2023, zuletzt aktualisiert am 13. August 2023 – 2 Kommentare

Der Netzwerkspeicher My Cloud EX2 Ultra von Western Digital (WD) besitzt keinen physischen Ein- und Aus-Schalter. Man kann das My Cloud-Gerät allerdings über die Windows Eingabeaufforderung vom lokalen PC aus starten und herunterfahren – dank Secure Shell (SSH) und Wake on LAN (WoL). In diesem Beitrag erläutere ich, wie das Ein- und Ausschalten des Speichergeräts über die Kommandozeile gelingt, welche Tools man dafür braucht – und wie man einfach nutzbare Batch-Skripte für diese Aktionen erstellt.

WD My Cloud: Ein- und Ausschalten leicht gemacht

Ob als Speicherplatz für Fotosammlungen, als Ablageort für Datensicherungen oder als Server für Multimedia-Inhalte – ein Netzwerkspeicher, auch bekannt als Network Attached Storage (NAS), ist flexibel einsetzbar. Ich selbst nutze für die genannten Zwecke das Modell My Cloud EX2 Ultra von Western Digital (WD).

Über einen Einschalt-Zeitplan habe ich das Gerät so eingestellt, dass es tagsüber erreichbar und ab dem späteren Abend abgeschaltet ist. Die Zeitspanne, in der das NAS-System betriebsbereit ist, reicht mir in der Regel aus. Wenn nicht, wird es etwas umständlich. Einen physischen Ein- und Aus-Schalter besitzt der My Cloud-Speicher nämlich nicht. Stattdessen muss man als Nutzer wie folgt vorgehen:

  • Möchte man das heruntergefahrene NAS-System starten, muss man das Netzkabel aus- und wieder einstecken.
  • Möchte man das laufende System herunterfahren, muss man sich in das Dashboard des Speichergeräts einloggen und auf Ruhezustand klicken.

SSH und WoL: My Cloud mit Remote-Befehlen starten und herunterfahren

Je häufiger man den Netzwerkspeicher auf diese Weise ein- oder ausschalten muss, desto mehr sehnt man sich nach einer Alternative – und die gibt es, wie ich zuerst in diesem Blogbeitrag von Simone Dassi gelesen habe. Seine Ausführungen zum Aus- und Einschalten eines My Cloud Mirror-Geräts gelten grundsätzlich auch für My Cloud EX2 Ultra: Das Speichergerät lässt sich vom lokalen PC aus via SSH-Verbindung herunterfahren und über Wake on LAN (WoL) starten. Mit den richtigen Tools und Befehlen gelingt das einfach und unkompliziert über die Windows Eingabeaufforderung (cmd).

Western Digital My Cloud EX2 Ultra
Das NAS-Gerät My Cloud EX2 Ultra hat keinen physischen Ein- und Aus-Schalter. Mit dem entsprechenden Know-how ist es aber möglich, den Netzwerkspeicher vom lokalen PC aus zu starten und herunterzufahren. – © Metzger

Und es geht noch einfacher: Um die Kommandozeilenbefehle nicht jedes Mal manuell in der Eingabeaufforderung eintippen zu müssen, speichert man sie in einer Batch-Datei. Per simplem Doppelklick lässt sich das NAS-Gerät dann ein- oder ausschalten. Im Folgenden erläutere ich, mit welchen Befehlen ich My Cloud EX2 Ultra starte und herunterfahre, welche Kommandozeilentools ich dafür einsetze – und was es eigentlich mit SSH und WoL auf sich hat. Die erstellten Batch-Skripte finden sich am Ende des Beitrags zum Download.

Hinweis: Der Artikel bezieht sich auf den NAS-Speicher WD My Cloud EX2 Ultra. Die Ausführungen dürften aber auf andere My Cloud-Produkte übertragbar sein. In jedem Fall erfolgt die Verwendung der im Beitrag genannten Befehle bzw. Skripte auf eigene Gefahr. Bei mir ist es bislang zu keinerlei Problemen gekommen.

My Cloud herunterfahren via SSH-Verbindung

My Cloud Skript shutdown.sh
Auf dem My Cloud-Gerät findet sich in den Tiefen des darauf laufenden Linux-Systems das Shell-Skript shutdown.sh. Via SSH-Verbindung lässt sich das Skript aufrufen und der Netzwerkspeicher herunterfahren. – © Screenshot Notepad++/shutdown.sh

WD My Cloud EX2 Ultra unterstützt den Zugriff via SSH (Secure Shell). Über das Netzwerkprotokoll ist es möglich, aus der Ferne – in unserem Fall: über das lokale Netzwerk – Befehle an das Speichergerät zu senden. Wir wollen das NAS-System herunterfahren. Dazu weist man den auf Linux basierenden My Cloud-Speicher via SSH-Verbindung an, das im System hinterlegte Shell-Skript shutdown.sh** auszuführen. Ein einzeiliges Batch-Skript erledigt diese Aufgabe schnell und komfortabel.

** Neben dem WD-eigenen shutdown.sh-Skript habe ich das My Cloud-Gerät auch mit dem Unix/Linux-Befehl halt erfolgreich herunterfahren können. Der Befehl poweroff hingegen versetzt das Gerät in einen Zustand, aus dem es sich nicht über Wake on LAN aufwecken lässt. Heißt: Nur in den ersten beiden Fällen wird der Netzwerkadapter des Speichergeräts nach dem Herunterfahren weiterhin mit Energie versorgt.

Interessant: Nach dem Herunterfahren mit poweroff zeigt das Dashboard im Anschluss an den notwendigen Neustart durch Aus- und Einstecken des Netzkabels die Warnung an, dass die Stromversorgung ausgefallen sei. Unterbricht man die Stromzufuhr nach Ausführung von shutdown.sh oder halt, erscheint diese Meldung nicht.

Vorbereitung: SSH-Zugriff aktivieren, SSH-Client Plink herunterladen

Zunächst gilt es SSH auf My Cloud EX2 Ultra zu aktivieren. Das geschieht über die Weboberfläche unter Einstellungen > Netzwerk. Im Rahmen der Aktivierung legt man ein Passwort fest; der Benutzername lautet standardmäßig sshd.

My Cloud OS 5 Dashboard: SSH-Zugriff
Über die My Cloud Weboberfläche aktiviert man den SSH-Zugriff auf den Netzwerkspeicher. – © Screenshot Dashboard My Cloud OS 5
Webseite mit Download-Links für Putty bzw. Plink
Das Kommandozeilentool Plink lädt man auf der Website von Putty-Entwickler Simon Tatham herunter. – © Screenshot Putty Website

Außerdem braucht man eine Software, einen SSH-Client, um eine Verbindung zwischen lokalem PC und Netzwerkspeicher herzustellen und Befehle übermitteln zu können. Für unsere Zwecke nutzen wir das Kommandozeilenprogramm Plink (zum Betriebssystem passende plink.exe-Datei herunterladen). Das kostenfreie Tool ist Bestandteil der bei SSH-Anwendern beliebten Putty Suite.

mycloud-shutdown.bat: Batch-Skript mit Herunterfahren-Befehl erstellen

Um das My Cloud-Gerät nun per Doppelklick ausschalten zu können, erstellen wir ein Batch-Skript (externe Anleitung) mit dem Namen mycloud-shutdown.bat. Die Batch-Datei enthält den nachfolgenden Befehl, der bei Ausführung dafür sorgt, dass eine SSH-Verbindung mit dem NAS-Gerät hergestellt und gleichzeitig das My Cloud-spezifische shutdown.sh-Skript aufgerufen wird. Dessen Ausführung erfolgt still im Hintergrund (nohup … &>/dev/null & exit) – nach weniger als 30 Sekunden ist das System heruntergefahren und nicht mehr erreichbar.

plink.exe sshd@<IP-Adresse> -pw <Passwort> -no-antispoof "nohup shutdown.sh &>/dev/null & exit"
  • <IP-Adresse> ist mit der IP-Adresse des My Cloud-Geräts zu ersetzen, z.B. 192.168.2.12. Man findet die zugewiesene Adresse beispielsweise über die Weboberfläche des Netzwerkspeichers heraus: Unter Einstellungen > Netzwerk ist sie aufgeführt.
  • <Passwort> ist mit dem über das My Cloud Dashboard eingerichteten SSH-Passwort zu ersetzen, z.B. abc123. Das Hinterlegen des Kennworts ist freilich ein Sicherheitsrisiko. Man kann die Option -pw weglassen – dann muss man das Kennwort händisch in der Konsole eingeben.
  • Die Option -no-antispoof verhindert, dass aus Sicherheitsgründen die Eingabetaste gedrückt werden muss, bevor die SSH-Verbindung endgültig hergestellt wird. Unser Skript läuft somit – wenn das Passwort hinterlegt ist – vollkommen selbstständig und erfordert keine Nutzereingabe**.

** Beim erstmaligen Aufbau der SSH-Verbindung mit dem NAS-Speicher fragt Plink, ob man dem entfernten Gerät vertraut. Mit <y> als Tastatureingabe bestätigt man dies – bei weiteren Verbindungen mit dem Netzwerkspeicher entfällt die Sicherheitsabfrage.

Plink Abfrage fingerprint host key
Beim erstmaligen Verbindungsaufbau fragt Plink, ob man den Hostschlüssel (engl. host key) des My Cloud-Geräts auf dem lokalen PC abspeichern will. Bejaht man dies, erscheint bei zukünftigen Login-Versuchen keine Abfrage mehr. Um auf Nummer sicher zu gehen, sollte man den angegebenen Fingerabdruck (engl. fingerprint) des Hostschlüssels auf Richtigkeit überprüfen. – © Screenshot Windows/mycloud-shutdown.bat

Skript und Client am selben Ort speichern

Die Batch-Datei mycloud-shutdown.bat muss sich im selben Verzeichnis befinden wie plink.exe, sonst bricht das Skript mit einer Fehlermeldung ab. Möchte man das Skript von einer anderen Stelle aus starten, kann man eine Verknüpfung anlegen. Dazu macht man einen Rechtsklick auf die Batch-Datei und wählt Verknüpfung erstellen (bei Windows 11 muss man im Kontextmenü zunächst auf Weitere Optionen anzeigen klicken).

Man muss fürs Herunterfahren nicht zwangsläufig ein Batch-Skript erstellen. Es ist auch möglich, eine Verknüpfung mit plink.exe anzulegen und dem SSH-Client darüber die oben aufgeführten Kommandozeilenparameter als Startparameter mitzugeben. Dazu macht man einen Rechtsklick auf die Verknüpfung und wählt im Kontextmenü die Option Eigenschaften. Im Feld Ziel fügt man an ..\plink.exe die Parameter sshd@<IP-Adresse> [-pw <Passwort>] -no-antispoof „nohup shutdown.sh &>/dev/null & exit“ an. Ein Doppelklick auf die Verknüpfung fährt das My Cloud-Gerät herunter.

Verknüpfungseinstellungen: plink.exe mit Parametern zum Herunterfahren des My Cloud-Geräts ausführen
Alternative zum Batch-Skript: Man startet plink.exe über eine Verknüpfung mit den zum Herunterfahren des NAS-Geräts erforderlichen Parametern. – © Screenshot Windows

My Cloud durch Senden eines Magic Packet starten

Um WD My Cloud EX2 Ultra zu starten, ohne das Gerät physisch zu berühren, bedient man sich der vom NAS-Gerät unterstützten Funktion Wake on LAN (WoL). Über den Netzwerkstandard ist es möglich, Endgeräte, die per Ethernet-Kabel mit dem Router verbunden sind, aus der Ferne – in unserem Fall wieder: über das lokale Netzwerk – einzuschalten. Dazu sendet man vom lokalen PC aus ein Signal, ein sog. Magic Packet, an das Gerät – und zwar mithilfe eines WoL-Clients. Als Tool für die Kommandozeile eignet sich wolcmd von Depicus (kostenfrei).

Wake on LAN: Inhalt Magic Packet
Der Inhalt eines Magic Packet ist genau definiert: Es enthält zunächst sechsmal in Folge den Hexadezimalwert FF und anschließend 16-mal die MAC-Adresse des Zielgeräts. – © Screenshot Depicus Wake on LAN Monitor/Sniffer

mycloud-wakeup.bat: Batch-Skript mit Start-Befehl erstellen

Um den Remote-Start per simplem Doppelklick vornehmen zu können, erstellen wir wieder ein Batch-Skript, diesmal mit dem Namen mycloud-wakeup.bat. Bei Ausführung der Batch-Datei wird über den nachfolgenden Befehl ein Magic Packet ins lokale Netzwerk geschickt, das speziell an das My Cloud-Gerät adressiert ist. Trifft das Datenpaket am Gerät ein, startet dieses unmittelbar.

wolcmd.exe <MAC-Adresse> <IP-Adresse> 255.255.255.0
  • <MAC-Adresse> ist mit der MAC-Adresse des NAS-Geräts zu ersetzen, wobei die üblichen Trennzeichen (Bindestriche oder Doppelpunkte) weggelassen werden, z.B. 009027a322fc (< 00:90:27:a3:22:fc oder 00-90-27-a3-22-fc). Die MAC-Adresse des My Cloud-Geräts findet man z.B. über die Weboberfläche heraus: Unter Einstellungen > Netzwerk ist die Geräteadresse aufgeführt.
  • <IP-Adresse> ist mit der IP-Adresse des NAS-Geräts zu ersetzen, z.B. 192.168.2.12. Die zugewiesene IP-Adresse lässt sich ebenfalls im Dashboard unter Einstellungen > Netzwerk ablesen.
  • 255.255.255.0 ist die Standard-Subnetzmaske des lokalen Netzwerks.
My Cloud OS 5 Dashboard: MAC-Adresse
Die MAC-Adresse des My Cloud-Geräts lässt sich z.B. über die Weboberfläche herausfinden, und zwar unter Einstellungen > Netzwerk. – © Screenshot Dashboard My Cloud OS 5

Skript und Client am selben Ort speichern

Die Batch-Datei mycloud-wakeup.bat muss sich im selben Verzeichnis befinden wie wolcmd.exe, sonst bricht das Skript mit einer Fehlermeldung ab. Möchte man das Skript von einer anderen Stelle aus starten, kann man eine Verknüpfung anlegen. Dazu macht man einen Rechtsklick auf die Batch-Datei und wählt Verknüpfung erstellen (bei Windows 11 muss man im Kontextmenü zunächst auf Weitere Optionen anzeigen klicken).

Alternative mit Verknüpfung: Wakeup-Parameter an wolcmd.exe übergeben

Auch fürs Starten muss man nicht unbedingt ein Batch-Skript erstellen. Alternativ legt man eine Verknüpfung mit wolcmd.exe an und gibt dem WoL-Client darüber die oben aufgeführten Kommandozeilenparameter als Startparameter mit. Dazu macht man einen Rechtsklick auf die Verknüpfung und wählt im Kontextmenü die Option Eigenschaften. Im Feld Ziel fügt man an ..\wolcmd.exe die Parameter <MAC-Adresse> <IP-Adresse> 255.255.255.0 an. Ein Doppelklick auf die Verknüpfung startet das My Cloud-Gerät unmittelbar.

Verknüpfungseinstellungen: wolcmd.exe mit Parametern zum Starten des My Cloud-Geräts ausführen
Alternative zum Batch-Skript: Man führt wolcmd.exe über eine Verknüpfung mit den zum Starten des NAS-Geräts erforderlichen Parametern aus. – © Screenshot Windows

Kombi-Skript: Ping-Test und Wenn-Dann-Sonst-Abfrage

Anstatt für das Ein- und Ausschalten des Netzwerkspeichers zwei separate Skripte zu verwenden, kann man die genannten Befehle auch in einer Datei kombinieren. Das nachfolgende Skript, das ich mycloud-powerswitch.bat genannt habe, prüft über eine Ping-Anfrage, die zur Sicherheit dreimal wiederholt wird, ob das NAS-Gerät im Netzwerk erreichbar ist. Je nach Ergebnis sorgt eine Wenn-Dann-Sonst-Abfrage dafür, dass der passende Befehl ausgeführt wird: Ist das Speichergerät erreichbar, wird es heruntergefahren; ist es nicht erreichbar, wird es gestartet. Um die Bildschirmausgaben des Skripts nachvollziehen zu können, bleibt das Fenster der Eingabeaufforderung nach Ausführung des Starten- bzw. Herunterfahren-Befehls bis zu zehn Sekunden geöffnet.

@echo off
echo Pruefe, ob NAS erreichbar ist
ping -n 3 <IP-Adresse> | find "TTL" >nul
if %errorlevel% == 0 (
echo NAS ist erreichbar und wird nun heruntergefahren...
plink.exe sshd@<IP-Adresse> -pw <Passwort> -no-antispoof "nohup shutdown.sh &>/dev/null & exit"
) else (
echo NAS ist nicht erreichbar und wird nun gestartet...
wolcmd.exe <MAC-Adresse> <IP-Adresse> 255.255.255.0
)
timeout /T 10
Ausgabe des Skripts mycloud-powerswitch.bat in der Windows Eingabeaufforderung
Ausgabe des Skripts mycloud-powerswitch.bat in der Windows Eingabeaufforderung – der Aufruf erfolgte zweimal und führte zu den gewünschten Ergebnissen: Ist der My Cloud-Speicher erreichbar, wird er heruntergefahren; ist er nicht erreichbar, wird er gestartet. – © Screenshot Windows/mycloud-powerswitch.bat

My Cloud Batch-Skripte herunterladen

Die drei im Beitrag genannten Batch-Skripte zum Starten und Herunterfahren von WD My Cloud EX2 Ultra können über den nachfolgenden Link gebündelt als zip-Datei heruntergeladen werden:

Um die Skripte nach dem Entpacken mit den eigenen Daten zu befüllen oder anderweitig anzupassen, macht man einen Rechtsklick auf die jeweilige Datei und wählt die Option Bearbeiten (bei Windows 11 muss man im Kontextmenü zunächst auf Weitere Optionen anzeigen klicken). Der Editor öffnet sich. Nachdem man die Änderungen vorgenommen hat, klickt man auf Datei > Speichern (Strg + S).

Fehlt was?

Habt ihr Fragen oder Anmerkungen zum Artikel? Wollt ihr mehr wissen zur Erstellung von Batch-Skripten oder den verwendeten Befehlen und Tools? Dann hinterlasst einen Kommentar oder schreibt mir eine E-Mail.


Beitrag veröffentlicht am

in

, ,

von

// zuletzt aktualisiert am 13. August 2023

Kommentare

2 Antworten zu „My Cloud herunterfahren und starten per Skript“

  1. Avatar von Peter Linden
    Peter Linden

    Guten Morgen Matthias,
    ich habe mir zum archivieren meiner Bilder ebenfalls ein WD My Cloud EX2 Ultra zugelegt. Deine Anleitung fürs ein und Ausschalten ist richtig gut verständlich und auch für den Laien gut nachvollziehbar. Vielen Dank dafür. Irgend etwas muß ich aber falsch machen. Egal welches skript ich starte, bei mir geht nur kurz ein Fenster auf und dann wieder zu. Keine Reaktion am NAS-Speicher.
    Ich habe das auf meinem Dell Laptop, Windows 11 home installiert. Er ist über wlan mit der Fritzbox 6660 verbunden.
    Kann ich irgendwie testen, ob das plink.exe funktioniert und ob die SSh verbindung steht?
    Freundliche Grüße
    Peter

    1. Avatar von Matthias Metzger

      Wir haben das Problem im privaten Austausch via E-Mail lösen können. Es handelte sich nur um einen kleinen Fehler innerhalb der Befehlssyntax, der beim Ersetzen der Dummy-Werte entstanden war. Nichtsdestoweniger ist die Frage berechtigt, wie man nachvollziehen kann, ob beim Ausführen des Skripts ein Fehler auftritt.

      Die einfachste Möglichkeit: Die Eingabeaufforderung (cmd.exe) öffnen und von dort das Skript aufrufen (vorher per cd-Befehl ins Verzeichnis wechseln, in dem das Skript abliegt). Das Fenster der Eingabeaufforderung bleibt so geöffnet und man sieht etwaige Fehlermeldungen.

      Anstatt das Skript aufzurufen, kann man den Befehl auch direkt in die Eingabeaufforderung eingeben (vorher per cd-Befehl ins Verzeichnis wechseln, in welchem plink.exe oder wolcmd.exe abliegt). Mit dem simplen Befehl plink.exe sshd@<IP-Adresse> -pw <Passwort> kann man zum Beispiel testen, ob man überhaupt per SSH auf den Speicher zugreifen kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert