README aktualisiert
This commit is contained in:
@@ -1,49 +1,10 @@
|
|||||||
💡 Was macht das?
|
|
||||||
|
|
||||||
Wenn kein Argument übergeben wird, läuft das Skript wie gewohnt durch (main).
|
🧪 Beispielhafte Aufrufe
|
||||||
|
|
||||||
Wenn ein Funktionsname übergeben wird, wird nur diese Funktion mit optionalen Argumenten ausgeführt.
|
Befehl Wirkung
|
||||||
|
./miyagi_backup.sh -c /etc/miyagi.conf Führt den vollständigen Backup-Prozess aus
|
||||||
🔄 Beispielaufrufe
|
./miyagi_backup.sh help Listet alle verfügbaren Funktionen
|
||||||
|
./miyagi_backup.sh run_updates Führt nur Updates lokal aus
|
||||||
# Führt das ganze Skript aus (wie bisher)
|
./miyagi_backup.sh run_pbs_backup Führt nur das vzdump-PBS-Backup aus
|
||||||
./miyagi_backup.sh -c /etc/miyagi.conf
|
./miyagi_backup.sh run_maintenance Nur Wartung (Prune + GC)
|
||||||
|
./miyagi_backup.sh shutdown_if_requested Prüft ob Shutdown nötig ist
|
||||||
# Führt nur Updates aus
|
|
||||||
./miyagi_backup.sh run_updates
|
|
||||||
|
|
||||||
# Nur das Backup starten
|
|
||||||
./miyagi_backup.sh run_pbs_backup
|
|
||||||
|
|
||||||
# Nur Konfiguration schreiben
|
|
||||||
./miyagi_backup.sh write_zsync_config
|
|
||||||
|
|
||||||
🧱 Optional: Hilfe-Befehl
|
|
||||||
|
|
||||||
Füge am Anfang noch das hinzu:
|
|
||||||
|
|
||||||
if [[ "${1:-}" == "help" ]]; then
|
|
||||||
echo "Verfügbare Funktionen:"
|
|
||||||
declare -F | awk '{print " - " $3}'
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
Dann kannst du z.B. aufrufen:
|
|
||||||
|
|
||||||
./miyagi_backup.sh help
|
|
||||||
|
|
||||||
Und bekommst alle verfügbaren Funktionsnamen.
|
|
||||||
📌 Hinweis
|
|
||||||
|
|
||||||
Funktionen wie run_pbs_backup brauchen Variablen aus der Config. Du kannst sicherstellen, dass source "$CONFIG_FILE" immer ausgeführt wird, indem du das nicht in main, sondern außerhalb (oben) stehen lässt - so wie im überarbeiteten Skript oben.
|
|
||||||
✅ Fazit
|
|
||||||
|
|
||||||
Durch den Wechsel auf ein solches „Funktions-Router“-Muster kannst du dein Skript:
|
|
||||||
|
|
||||||
modular testen
|
|
||||||
|
|
||||||
gezielt einsetzen (z.B. nur Snapshot, nur Update)
|
|
||||||
|
|
||||||
einfacher debuggen
|
|
||||||
|
|
||||||
cron- oder CI-kompatibel machen
|
|
||||||
|
|||||||
Reference in New Issue
Block a user