Virtuelle Maschine über Cron herunterfahren

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

feron

Benutzer
Registriert
15. Okt. 2022
Beiträge
153
Reaktionspunkte
9
Punkte
18
Hat jemand ein Beispiel, wie ich eine virtuelle Maschine z.b. über Cron automatisch herunterfahren kann zu einem bestimmten Tag, Zeit?
 
Du legst dir einen Cron job (Aufgabenplaner) an und der Befehl lautet einfach shutdown now.
 
Danke für die Antworten. Ist mit einem Cron Job ein Benutzerdefiniertes Skript gemeint unter Aufgabenplaner? Wie würde dann der Befehl lauten?
 
Mit dem Aufgabenplaner werden quasi auch Cron Jobs erstellt und in der crontab angelegt.
Entweder wie @AndiHeitzer schreibt einen Task direkt in der crontab eintragen oder dann eben eine Benutzerdefinierte Aufgabe über den Aufgabenplaner einstellen.

Der Befehl ist in beiden Fällen der gleiche.
 
Hat jemand ein Beispiel, wie ich eine virtuelle Maschine z.b.
Also zunächst wäre es hier hilfreich zu wissen um welche virtuelle Maschine es sich hierbei handelt. Um welches System handelt es sich eigentlich.
Ich hatte jetzt ein virtuelles DSM im Kopf. Und darin könntest du ja den Aufgabenplaner oder dessen Crontab verwenden damit sie selbst herunterfährt.

Aber ich vermute jetzt einmal stark dass du vom DSM selbst eine x-beliebige VM über einen Trigger herunterfahren möchtest.
 
Ich möchte eigentlich nur über DSM meine virtuelle Home Assistant Maschine z.b. monatlich automatisch ausschalten und dann über den Energieplaner z.b. 30 Minuten später auch mein komplettes Synology Neu starten.
 
Okay ich verstehe.

Dann solltest du die VM hiermit herunterfahren können.
Ich habe das ganze einmal bei mir ausprobiert und die VM wurde heruntergefahren (bzw. ausgeschaltet).

Man verwendet hierzu die Virtual Machine Manger API und zwar wie folgt:

Code:
synowebapi --exec api=SYNO.Virtualization.API.Guest.Action version=1 method=shutdown runner=root guest_name="DSM 7"

wobei es sich bei guest_name="DSM 7" um genau den Namen der VM handelt der in der GUI gewählt wurde. In meinem Fall heißt die VM "DSM 7". Also hier muss entsprechend der Name der VM angegeben werden.

Die umfangreiche Doku ist hier zu finden: Synology_Virtual_Machine_Manager_API_Guide.pdf
 
Zuletzt bearbeitet:
  • Like
Reaktionen: ctrlaltdelete
Diesen Code, den du geschickt hast, müsste ich unter Benutzerdefiniertes Skript im Aufgabenplaner einfügen und den guest_name durch meinen Namen der virtuellen Maschine ändern?
 
müsste ich unter Benutzerdefiniertes Skript im Aufgabenplaner einfügen
Ganz genau

und den guest_name durch meinen Namen der virtuellen Maschine ändern
Das hatte ich bereits geschrieben. Aber ja, das ist korrekt. Mit dem "guest_name" wird definiert welche VM ausgeschaltet werden soll.

Du kannst das ganze ja auch erst einmal über die Kommandozeile ausprobieren.
Oder nach Defnition im Aufgabenplaner führst du die Task einfach manuell aus um zu sehen ob die VM herunterfährt.
Hochfahren bzw. starten der VM geht dann äquivalent mit der folgenden Methode method=poweron.
 
Ok, danke. Ich werde das Testen. Jetzt habe ich aber noch gesehen, dass ich im Energieplaner nur wöchentlich herunterfahren kann. Da kann ich gar nicht monatlich auswählen um die ganze Synolgy neu zu starten.
 
Mit meinem Synology Admin erhalte ich die Meldung:
"/bin/bash: /usr/syno/bin/synowebapi: Permission denied"

Mit Root hat es mit manueller Ausführung geklappt.
 
Dann setze doch mal ein sudo vor den gesamten Befehl.
 
Jetzt habe ich aber noch gesehen, dass ich im Energieplaner nur wöchentlich herunterfahren kann.
Oh ja du hast recht. Entweder es gibt bereits jemanden der hierfür schon eine Antwort parat hat und ich gehe mal auf die Suche nach einer Möglichen Lösung.
 
Als "root" probiert? ("sudo -i" auf der Konsole bzw. im Aufgabenplaner direkt wählbar)
 
Mit Benutzer root geht es einwandfrei. Die VM wurde heruntergefahren. Top, vielen Dank. Wäre super, wenn wir noch eine Lösung finden um im Energieplaner monatlich neu zu starten. Wöchentlich finde ich schon etwas übertrieben. So kann ich eine halbe Stunde später jeweils den normalen Energieplan starten. So hat die VM genügend Zeit sauber herunterzufahren.
 
Öhm, monatlich müsste auch gehen ;)

1671203519112.png
(nicht durch die "Zeit" unten verwirren lassen)
 
Stimmt, diese Zeitplan Einstellungen sind aber schon ziemlich verwirrend. Ok, du meinst in deinem Beispiel würde es monatlich am 16 Tag (00:00) diesen Task wiederholen? Unten ist ja auch ziemlich verwirrend, weil Täglich steht. So wie es aussieht, kann man aber nicht sagen, dass es monatlich z.b. am 3ten Sonntag laufen soll.
 
Täglich um z.B. 06:00 Uhr mit "Letzte Ausführung" um 06:00 Uhr, und das monatlich, ist auch nur einmalig.
Das ist in der Tat sehr verwirrend.
 
Warum machst Du das nicht direkt von der VM aus? Dort unter /etc/crontab den folgenden Eintrag fährt die Virtuelle Maschine automatisch herunter. Mache ich mit meinen jeden Abend um 22 Uhr:

Code:
00 22 * * * root shutdown -h now

Einfach auf die von Dir gewünschte Zeit anpassen. Wie von @luddi schon vorgeschlagen. Funktioniert zuverlässig.
 
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