4.4 KiB
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ü.
- Funktionen:
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.