README hinzugefügt

This commit is contained in:
2025-05-29 23:45:05 +02:00
parent 9f41236ee1
commit 1c83314f23
+49
View File
@@ -0,0 +1,49 @@
💡 Was macht das?
Wenn kein Argument übergeben wird, läuft das Skript wie gewohnt durch (main).
Wenn ein Funktionsname übergeben wird, wird nur diese Funktion mit optionalen Argumenten ausgeführt.
🔄 Beispielaufrufe
# Führt das ganze Skript aus (wie bisher)
./miyagi_backup.sh -c /etc/miyagi.conf
# 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