Hallo Welt! #3

Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!

Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!

DOCKER SICHERN:

  • sichert
    • deine Configs & .env unter /srv/docker-stack
    • alle Docker-Volumes unter /var/lib/docker/volumes
  • legt alles in ein datiertes Verzeichnis, z. B. /srv/backups/2025-11-15_22-30/
  • löscht alte Backups (z. B. nur die letzten 7 behalten)

1️⃣ Skript anlegen

Auf deinem Server:

nano /usr/local/bin/backup_docker_stack.sh

Füge das hier komplett ein:

#!/usr/bin/env bash

set -euo pipefail

# ===== Einstellungen anpassen =====
STACK_DIR="/srv/docker-stack"
VOLUME_DIR="/var/lib/docker/volumes"
BACKUP_ROOT="/srv/backups"
KEEP_DAYS=7   # Wie viele Tage Backups aufbewahren

# ===== Ab hier nur ändern, wenn du weißt, was du tust =====
TIMESTAMP="$(date +%F_%H-%M-%S)"
BACKUP_DIR="${BACKUP_ROOT}/${TIMESTAMP}"

echo "[INFO] Starte Backup: ${TIMESTAMP}"

# Ordner anlegen
mkdir -p "${BACKUP_DIR}"

echo "[INFO] Sicherung von ${STACK_DIR} nach ${BACKUP_DIR}/docker-stack-config.tar.gz"
tar -czf "${BACKUP_DIR}/docker-stack-config.tar.gz" -C "$(dirname "${STACK_DIR}")" "$(basename "${STACK_DIR}")"

echo "[INFO] Sicherung der Docker-Volumes (${VOLUME_DIR}) nach ${BACKUP_DIR}/docker-volumes.tar.gz"
tar -czf "${BACKUP_DIR}/docker-volumes.tar.gz" -C "$(dirname "${VOLUME_DIR}")" "$(basename "${VOLUME_DIR}")"

echo "[INFO] Backup fertig: ${BACKUP_DIR}"

# Alte Backups aufräumen
echo "[INFO] Entferne Backups älter als ${KEEP_DAYS} Tage unter ${BACKUP_ROOT}"
find "${BACKUP_ROOT}" -maxdepth 1 -mindepth 1 -type d -mtime +${KEEP_DAYS} -print -exec rm -rf {} \;

echo "[INFO] Backup-Skript abgeschlossen."

Speichern:
Strg+O, Enter, Strg+X.

Dann ausführbar machen:

chmod +x /usr/local/bin/backup_docker_stack.sh

Testlauf:

/usr/local/bin/backup_docker_stack.sh

Danach:

ls -la /srv/backups

Du solltest einen Ordner sehen wie:

/srv/backups/2025-11-15_22-30-12/
    docker-stack-config.tar.gz
    docker-volumes.tar.gz

2️⃣ Was genau gesichert wird

  • docker-stack-config.tar.gz
    • Inhalt von /srv/docker-stack
    • also:
      • docker-compose.yml
      • .env
      • caddy/, nginx/, db-init/ etc.
  • docker-volumes.tar.gz
    • Inhalt von /var/lib/docker/volumes
    • also alle Volumes (Nextcloud, MariaDB, WordPress, Chatbot…)

Damit hast du sowohl Konfiguration als auch Daten im Backup ✅


3️⃣ Restore (im Notfall)

Auf einem neuen Server:

  1. Docker installieren
  2. Backup-Datei rüberkopieren (z. B. nach /srv/backups/...)
  3. Backup entpacken: tar -xzvf /srv/backups/DEIN_BACKUP/docker-stack-config.tar.gz -C / tar -xzvf /srv/backups/DEIN_BACKUP/docker-volumes.tar.gz -C /
  4. Stack starten: cd /srv/docker-stack docker compose up -d

Danach sollten alle Dienste mit allen Daten wieder laufen.


4️⃣ Automatisieren mit Cron (optional)

Tägliches Backup z. B. um 3:00 Uhr nachts:

crontab -e

Zeile hinzufügen:

0 3 * * * /usr/local/bin/backup_docker_stack.sh >> /var/log/backup_docker_stack.log 2>&1

Speichern – fertig.
Jetzt läuft das Backup jeden Tag automatisch.

#Informatik #Academy #Computer #Ghibli

Foto: DALL·E 3 (gemeinfrei)

Kommentare

4 Antworten zu „Hallo Welt! #3“

  1. Eliana Pazos

    Pagina súper chévere¡¡:D

  2. Avatar von Héctor Lavoe
    1. Avatar von Héctor Lavoe
      Héctor Lavoe

      Toll!

    2. Eliana Pazos

      Stimmt Hector ¡

Schreibe einen Kommentar