scripte/SKRIPTE_INFO.md

4.4 KiB

Übersicht der Docker- und Gitea-Skripte

Hauptskripte

  • backup_docker.sh: Erstellt ein vollständiges Backup aller Docker-Images, Volumes, Media/Staticfiles, Konfigurationsdateien und MariaDB-Dumps. Das Backup wird in einem Zeitstempel-Ordner unter /home/thomas/backup_images/ abgelegt.
  • restore_docker.sh: Stellt ein Backup aus einem Zeitstempel-Ordner komplett wieder her (Images, Volumes, DB-Dumps, Konfigs).
  • restore_menu.sh: Interaktives Menü für alle Backup- und Restore-Funktionen (siehe unten).

Einzelne_Restore_Scripte

Alle Einzelskripte für gezielte Sicherung und Wiederherstellung liegen in /home/thomas/scripte/Einzelne_Restore_Scripte/:

  • backup_db.sh: Sichert gezielt einen Dump einer einzelnen Datenbank (Container).
  • backup_media.sh: Sichert gezielt die Media-Dateien eines Projekts (webshop|ssv).
  • backup_staticfiles.sh: Sichert gezielt die Staticfiles eines Projekts (webshop|ssv).
  • backup_image.sh: Sichert gezielt ein Docker-Image.
  • backup_config.sh: Sichert gezielt docker-compose.yml oder nginx.conf.
  • restore_db.sh: Stellt gezielt den Dump einer einzelnen Datenbank (Container) wieder her.
  • restore_media.sh: Stellt nur die Media-Dateien eines Projekts (webshop|ssv) wieder her.
  • restore_staticfiles.sh: Stellt nur die Staticfiles eines Projekts (webshop|ssv) wieder her.
  • restore_image.sh: Importiert gezielt ein Docker-Image aus einem Backup.
  • restore_config.sh: Stellt gezielt docker-compose.yml oder nginx.conf wieder her.

Wartungsscripte

Alle Wartungs- und Hilfsskripte liegen in /home/thomas/scripte/Wartungsscripte/:

  • docker_cleanup.sh: Entfernt nicht mehr verwendete Docker-Objekte (Container, Images, Volumes) nach Bestätigung.
  • cleanup_old_backups.sh: Löscht alle Backup-Ordner in /home/thomas/backup_images/, die älter als 14 Tage sind.
  • db_dump_single.sh: Erstellt einen SQL-Dump einer einzelnen MariaDB im laufenden Container.
  • docker_logs.sh: Zeigt die letzten 100 Zeilen der Logs eines angegebenen Containers an.
  • docker_status.sh: Zeigt alle laufenden und gestoppten Docker-Container an.

Git & Gitea Menü

  • git_gitea_menu.sh: Interaktives Menü für lokale Git-Operationen und Gitea-API-Operationen.
    • Funktionen:
      • Repository klonen: Klont ein bestehendes Repo von Gitea oder einer anderen Quelle.
      • Status anzeigen: Zeigt den aktuellen Git-Status im aktuellen Verzeichnis.
      • Pull: Holt die neuesten Änderungen vom Remote-Repo.
      • Push: Überträgt lokale Commits ins Remote-Repo.
      • Branch wechseln: Wechselt oder erstellt einen Branch.
      • Commit: Fügt Änderungen hinzu und erstellt einen Commit.
      • Gitea: Repo-Liste anzeigen: Zeigt alle Repos des Users auf Gitea.
      • Gitea: Neues Repo anlegen: Legt ein neues Repository auf Gitea an (Repo-Name wird validiert, Leerzeichen werden ersetzt).
      • Gitea: Issue anzeigen: Zeigt ein Issue eines Repos an.
      • Gitea: Issue erstellen: Erstellt ein neues Issue in einem Repo.
    • Folgen der Aktionen:
      • Repo anlegen: Das neue Repo erscheint sofort auf Gitea, kann geklont und genutzt werden.
      • Issue erstellen: Das Issue ist sofort im Gitea-Webinterface sichtbar.
      • Alle Aktionen sind sofort wirksam und können nicht rückgängig gemacht werden.
      • Die Validierung verhindert ungültige Repo-Namen und sorgt für Kompatibilität mit Gitea.
      • Mit "z" kann man jederzeit zurück ins Hauptmenü.

Nutzung des Backup & Restore Menüs

Starte das Menü mit:

/home/thomas/scripte/restore_menu.sh

Dort kannst du alle Backup- und Restore-Funktionen bequem auswählen und ausführen. Im Menü gibt es jetzt auch einen Bereich für gezielte Sicherung einzelner Bereiche (DB, Media, Static, Image, Config). Die Zurück-Funktion ("z") ist überall verfügbar.

Erweiterte Best Practice (empfohlen)

  • Offsite-Backup:
    • Backups werden automatisch auf ein externes System (z.B. NAS, Cloud) kopiert. Beispiel: WD MyCloud EX2 Ultra unter 192.168.178.100.
  • Benachrichtigung:
    • Nach jedem Backup/Restore kann eine E-Mail oder Slack-Nachricht über Erfolg oder Fehler verschickt werden.
  • Regelmäßiger Restore-Test:
    • Ein Test-Restore-Skript prüft regelmäßig, ob Backups erfolgreich wiederhergestellt werden können.
  • Versionsverwaltung der Skripte:
    • Die Skripte selbst werden in einem Git-Repository versioniert (z.B. auf deinem Gitea-Server), um Änderungen nachverfolgen zu können.