Skip to content

Scripts

Die Script-Verwaltung ermoeglicht das zentrale Erstellen, Verwalten und Ausfuehren von Scripts auf verwalteten Hosts. Scripts koennen einzeln oder als Bulk-Aktion auf mehreren Hosts ausgefuehrt werden.

Script-Bibliothek

Die Script-Bibliothek erreichen Sie ueber den Navigationspunkt Scripts. Hier werden alle verfuegbaren Scripts angezeigt.

Script erstellen

  1. Klicken Sie auf Script erstellen
  2. Konfigurieren Sie das Script:
FeldBeschreibungPflicht
NameEindeutiger Name des ScriptsJa
BeschreibungWas macht das Script?Nein
SpracheInterpreter (siehe unten)Ja
ModuleFuer welche Module ist das Script verfuegbarJa
Script-CodeDer eigentliche Script-InhaltJa
TimeoutMaximale Ausfuehrungszeit in SekundenNein
Pre-HookScript-Code, der VOR dem Hauptscript ausgefuehrt wirdNein
Post-HookScript-Code, der NACH dem Hauptscript ausgefuehrt wirdNein
BenachrichtigungBenachrichtigungstyp bei AusfuehrungNein

Sprachen

SpracheInterpreterPlattformen
Bash/bin/bashLinux, PVE, PBS, OPNsense (FreeBSD)
PowerShellpowershell.exeWindows
Pythonpython3 (Linux) / python.exe (Windows)Alle (wenn installiert)
Shell/bin/shLinux, FreeBSD

Module zuweisen

Ein Script kann einem oder mehreren Modulen zugewiesen werden:

  • Alle - Verfuegbar in allen Modulen
  • OPNsense - Bash/Shell-Scripts fuer FreeBSD
  • Proxmox VE - Bash-Scripts fuer Debian
  • Proxmox Backup Server - Bash-Scripts fuer Debian
  • Linux - Bash-Scripts fuer alle Distributionen
  • Windows - PowerShell-Scripts

Timeout

Jedes Script kann einen individuellen Timeout haben:

  • Standard: 5 Minuten (300 Sekunden) wenn kein Timeout angegeben
  • Wird das Timeout ueberschritten, wird der Script-Prozess abgebrochen
  • Fuer langlaeuige Operationen kann ein hoeherer Wert gesetzt werden

Pre-Hook / Post-Hook

Hooks sind zusaetzliche Script-Bloecke, die vor oder nach dem Hauptscript ausgefuehrt werden:

Pre-Hook (vor dem Script):

  • Typisch: Dienste stoppen, Backup erstellen, Wartungsmodus aktivieren
  • Wird in der gleichen Sprache wie das Hauptscript ausgefuehrt

Post-Hook (nach dem Script):

  • Typisch: Dienste starten, Aufraeuemarbeiten, Benachrichtigungen
  • Wird auch bei Fehler des Hauptscripts ausgefuehrt

Benachrichtigungen

Nach der Script-Ausfuehrung kann eine Benachrichtigung gesendet werden:

TypBeschreibung
KeineKeine Benachrichtigung (Standard)
E-MailE-Mail an eine konfigurierte Adresse
RESTHTTP-Request an eine URL (Webhook)

Bei Typ E-Mail geben Sie die Empfaengeradresse ein, bei REST die Webhook-URL.

Script-Editor

Der integrierte Script-Editor bietet:

  • Syntax-Highlighting fuer Bash, PowerShell und Python
  • Zeilennummerierung
  • Tab-Einrueckung
  • Scroll-Synchronisierung

Script ausfuehren

Einzelausfuehrung

  1. Rechtsklick auf einen Host → Script ausfuehren
  2. Oder: Detail-Modal → Tab JobsScript ausfuehren
  3. Waehlen Sie ein Script aus der Bibliothek
  4. Klicken Sie auf Ausfuehren

Bulk-Ausfuehrung

  1. Waehlen Sie mehrere Hosts ueber die Checkboxen
  2. Klicken Sie auf Script ausfuehren in der Bulk-Aktionsleiste
  3. Waehlen Sie das Script
  4. Bestaetigen Sie die Ausfuehrung

Das Script wird parallel auf allen ausgewaehlten Hosts gestartet.

Ergebnisse

Einzelergebnis

Nach der Ausfuehrung wird das Ergebnis angezeigt:

  • Exit-Code (0 = Erfolg, >0 = Fehler)
  • Stdout - Standardausgabe
  • Stderr - Fehlerausgabe
  • Ausfuehrungsdauer
  • Zeitstempel

Ausfuehrungsverlauf

Unter Scripts > Tab Verlauf finden Sie alle bisherigen Script-Ausfuehrungen mit:

  • Host, Script-Name, Zeitpunkt
  • Exit-Code und Status
  • Ausgabe zum Nachschlagen

Versionierung

Scripts werden automatisch versioniert:

  • Jede Aenderung erstellt eine neue Version mit optionaler Aenderungsbeschreibung
  • Aeltere Versionen bleiben erhalten
  • Bei der Ausfuehrung wird die aktuelle Version verwendet

System-Scripts

DATAZONE Control enthaelt vordefinierte System-Scripts fuer gaengige Aufgaben:

  • Update-Scripts (pro Modul und OS)
  • Neustart-Scripts
  • Dienste-Pruefungen
  • Informationssammlung
  • Agent-Update-Scripts

System-Scripts sind mit einem Schloss-Symbol gekennzeichnet und koennen nicht bearbeitet oder geloescht werden. Sie dienen als Vorlage und Referenz fuer eigene Scripts.

Best Practices

Empfehlungen

  • Fehlerbehandlung: Verwenden Sie set -e in Bash-Scripts fuer sofortigen Abbruch bei Fehlern
  • Logging: Geben Sie aussagekraeftige Meldungen auf stdout aus
  • Idempotenz: Scripts sollten mehrfach ausfuehrbar sein ohne Seiteneffekte
  • Timeouts: Setzen Sie angemessene Timeouts fuer langlaeuige Scripts
  • Pre-/Post-Hooks: Nutzen Sie Hooks fuer Vor-/Nachbereitung statt alles in einem Script

DATAZONE Control Documentation