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
- Klicken Sie auf Script erstellen
- Konfigurieren Sie das Script:
| Feld | Beschreibung | Pflicht |
|---|---|---|
| Name | Eindeutiger Name des Scripts | Ja |
| Beschreibung | Was macht das Script? | Nein |
| Sprache | Interpreter (siehe unten) | Ja |
| Module | Fuer welche Module ist das Script verfuegbar | Ja |
| Script-Code | Der eigentliche Script-Inhalt | Ja |
| Timeout | Maximale Ausfuehrungszeit in Sekunden | Nein |
| Pre-Hook | Script-Code, der VOR dem Hauptscript ausgefuehrt wird | Nein |
| Post-Hook | Script-Code, der NACH dem Hauptscript ausgefuehrt wird | Nein |
| Benachrichtigung | Benachrichtigungstyp bei Ausfuehrung | Nein |
Sprachen
| Sprache | Interpreter | Plattformen |
|---|---|---|
| Bash | /bin/bash | Linux, PVE, PBS, OPNsense (FreeBSD) |
| PowerShell | powershell.exe | Windows |
| Python | python3 (Linux) / python.exe (Windows) | Alle (wenn installiert) |
| Shell | /bin/sh | Linux, 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:
| Typ | Beschreibung |
|---|---|
| Keine | Keine Benachrichtigung (Standard) |
| E-Mail an eine konfigurierte Adresse | |
| REST | HTTP-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
- Rechtsklick auf einen Host → Script ausfuehren
- Oder: Detail-Modal → Tab Jobs → Script ausfuehren
- Waehlen Sie ein Script aus der Bibliothek
- Klicken Sie auf Ausfuehren
Bulk-Ausfuehrung
- Waehlen Sie mehrere Hosts ueber die Checkboxen
- Klicken Sie auf Script ausfuehren in der Bulk-Aktionsleiste
- Waehlen Sie das Script
- 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 -ein 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