Skip to main content

Backup-Workflow ausführen

1

Workflow erstellen

Erstelle die Datei workflows/default/backup.yml in deinem Serverhost-Verzeichnis:
workflows/default/backup.yml
2

Workflow laden

Starte den Serverhost neu. SimpleCloud verwendet den Dateipfad als Workflow-ID. Dieser Workflow erhält daher die ID default/backup.
3

Workflow zuweisen

Öffne im Dashboard eine Servergruppe oder einen persistenten Server und gehe zu Settings > Workflows. Füge unter Manual Workflows den Eintrag default/backup hinzu.
4

Workflow ausführen

Starte den Server, falls er noch nicht läuft. Öffne anschließend sein Aktionsmenü und führe zum Testen default/backup aus.
5

Backup prüfen

Öffne auf dem Serverhost dieses Verzeichnis:
Prüfe, ob das Zielverzeichnis die erwarteten Dateien enthält. Zeitstempel und Prozess-ID geben jedem Lauf ein eigenes Zielverzeichnis.
Ein Workflow ist nur auf Serverhosts verfügbar, auf denen seine Datei vorhanden ist. Wenn die betroffenen Server auf mehreren Serverhosts ausgeführt werden können, füge jedem von ihnen dieselbe Datei hinzu und starte die Serverhosts neu.
Bei der manuellen Aktion werden die Dateien kopiert, während der Minecraft-Server läuft. Ändern sich dabei Welten oder Plugin-Daten, kann die Kopie inkonsistent sein. Füge für solche Dateien default/backup unter On Stop Workflows hinzu und stoppe den Server normal. Stop-Workflows werden ausgeführt, nachdem der Serverprozess beendet wurde. Platziere default/backup vor internal/cleanup.
internal/cleanup entfernt das laufende Verzeichnis eines Gruppenservers. Jeder Workflow, der dieses Verzeichnis liest, muss vor dem Cleanup ausgeführt werden.
Dieser Workflow erstellt Dateikopien, prüft jedoch nicht, ob sie sich wiederherstellen lassen, und entfernt keine alten Backups. Teste die Wiederherstellung der benötigten Daten und lege eine Aufbewahrungsstrategie für templates/.backup/ fest.

Workflow-Datei verstehen

Der Backup-Workflow hat dieselbe grundlegende Struktur wie jeder andere Workflow:
  • name identifiziert den Workflow in den Serverhost-Logs.
  • steps enthält die Operationen in ihrer Ausführungsreihenfolge.
  • name innerhalb eines Steps identifiziert diesen Step in den Logs.
  • uses wählt die Aktion aus. Dieser Workflow verwendet simplecloud/copy.
  • with enthält die von der Aktion benötigten Werte.
In diesem Workflow verweist from auf das laufende Serververzeichnis. to erzeugt für jeden Lauf einen eigenen Backup-Pfad. Fehlt die Quelle, erstellt init-dir-if-missing: true ein leeres Quellverzeichnis, anstatt einen Fehler auszulösen. Prüfe deshalb immer, ob das Backup die erwarteten Dateien enthält.

Vom Workflow verwendete Werte

Werte innerhalb von {{ ... }} werden beim Ausführen des Workflows ersetzt.

Backup-Workflow anpassen

Verwende den Backup-Workflow als Ausgangspunkt:
1

Workflow kopieren

Kopiere workflows/default/backup.yml an einen neuen Pfad, zum Beispiel workflows/custom/world-backup.yml.
2

Workflow ändern

Gib ihm einen neuen name und passe die Kopierpfade und Ausschlüsse an deine Aufgabe an.
3

Workflows neu laden

Starte jeden Serverhost neu, auf dem die neue Datei vorhanden ist.
4

Neue ID zuweisen

Füge unter Settings > Workflows den Eintrag custom/world-backup hinzu. Die Workflow-ID entspricht immer dem Pfad unterhalb von workflows/, jedoch ohne .yml.

Kopierumfang ändern

Die Aktion simplecloud/copy unterstützt unter with diese Einstellungen: Füge beispielsweise eine exclude-Liste hinzu, um Logs und Caches auszulassen, während der Rest des Backups unverändert bleibt:
Muster unter exclude sind relativ zu from.

Verfügbare Aktionen

simplecloud/copy kopiert eine Datei oder ein Verzeichnis von from nach to. Mit replace legst du fest, ob vorhandene Dateien überschrieben werden. Mit exclude lässt du passende Pfade aus.
simplecloud/compress erstellt ein Archiv und simplecloud/decompress entpackt eines. Beide Aktionen benötigen from und to; replace ist optional. Der Dateiname des Archivs bestimmt sein Format.
simplecloud/upload sendet die Datei unter from an die URL unter to. Die Aktion lädt Dateien hoch, keine Verzeichnisse. Du kannst außerdem die HTTP-method und einen Wert für authorization-bearer festlegen.Speichere langlebige Zugriffstokens unter Settings > Secrets und setze authorization-bearer auf eine Secret-Referenz, zum Beispiel "{{ secrets.BACKUP_TOKEN }}".
simplecloud/delete entfernt den unter path angegebenen Inhalt. Verwende min-age, zum Beispiel 7d, um neuere Dateien zu behalten.
Löschpfade sind nicht auf das Serververzeichnis beschränkt. Prüfe den endgültigen Pfad, bevor du den Workflow ausführst.
simplecloud/foreach führt verschachtelte Steps für jeden Eintrag unter items aus. Lege mit as den Variablennamen fest, den die verschachtelten steps verwenden.

Eingebaute Workflows

Lass internal/setup und internal/cleanup zugewiesen, sofern du ihr Verhalten nicht bewusst ersetzt.

Fehlerbehebung

Workflow-IDs werden manuell im Dashboard eingetragen. Prüfe, ob die Datei auf dem Serverhost vorhanden ist, starte den Serverhost neu und füge die ID erneut hinzu.
Prüfe, ob die ID dem Dateipfad entspricht. custom/world-backup muss beispielsweise auf workflows/custom/world-backup.yml verweisen.
Suche in den Serverhost-Logs nach Backup Workflow und copy-running-to-backup. Prüfe bei einem automatischen Backup außerdem, ob default/backup vor internal/cleanup steht.