Prüfung ob VM bereits gestartet und falls nicht automatischer Start per scheduled task / geplante Aufgabe

  • 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

syn-user123

Benutzer
Registriert
09. Nov. 2025
Beiträge
2
Reaktionspunkte
2
Punkte
3
Hallo liebes Synology-Forum,

ich bin neu hier und habe mit Hilfe dieses Artikels:
https://www.synology-forum.de/threads/virtual-machine-manager-zeitplaene.109835/

mein Problem nur teilweise lösen können.
Meine Anforderung war, dass ich in regelmäßigen Abständen eine VM nach dem Status überprüfen will und falls sie ausgeschaltet oder in irgendeinem anderen Zustand sein sollte, neu zu starten.

Hier ist der Inhalt des Skriptes, welches bei mir dann funktioniert hat:

Code:
# Check the VM status
VM_STATUS=$(synowebapi --exec api=SYNO.Virtualization.API.Guest version=1 method=get runner=admin guest_name="My-VM-Name" | jq -r '.data.status')

echo "$VM_STATUS"

# If the VM is running, do nothing else start the VM
if [ "$VM_STATUS" = "running" ]; then
  echo "VM is already running"
else
  synowebapi --exec api=SYNO.Virtualization.API.Guest.Action method=poweron guest_name="My-VM-Name"
  echo "VM is now starting"
fi

Ich habe dann diesen Code in eine Skriptdatei "poweronvm-script.sh" eingefügt und unter z.B. hier abgespeichert:

/usr/local/share/poweronvm.sh/poweronvm-script.sh


Ich habe es nicht geschafft, dass das Skript nur mit einem "normalen" User ausgeführt wird, obwohl ich das Verzeichnis wie folgt angelegt habe:

Code:
mkdir /usr/local/share/poweronvm.sh/poweronvm-script.sh

sudo chown -R My-VM-AdminUser /usr/local/share/poweronvm.sh/

touch /usr/local/share/poweronvm.sh/poweronvm-script.sh

Wichtig, ist das das benutzerdefinierte Skript:
bash /usr/local/share/poweronvm.sh/poweronvm-script.sh

dann in der geplante Aufgabe mit "root" Rechten ausgeführt wird - denn anders habe ich es nicht hinbekommen... Nach kurzer Recherche kann man es wohl auch nur mit root Rechten ausführen...

Ich wäre dankbar, für einen kleinen Hinweis, wenn man das Skript doch irgendwie mit einen "Nicht-Root" User ausführen könnte.

Ansonsten wollte ich mit diesem Beitrag meine funktionierende Lösung teilen.

Viele Grüße
syn-user123
 
  • Like
Reaktionen: ctrlaltdelete
Soweit mir bekannt, geht das nur mit root. Bei mir laufen alle Scripte mit root.
 

Additional post fields

 

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