Backup-Skript für Docker-Volumes auf Raspberry Pi 5 erstellen

In diesem Artikel zeige ich dir, wie du ein Backup-Skript für deine Docker-Volumes auf deinem Raspberry Pi erstellst. Ein Backup deiner Daten ist essenziell, insbesondere wenn du Docker auf einem Raspberry Pi einsetzt, da diese Geräte oft als Server oder stabile Lösung für kleine Projekte dienen.

Warum ein Backup-Skript?

Die Docker-Volumes enthalten die persistenten Daten deiner Container, ohne die viele Container nicht korrekt funktionieren würden. Ein Backup bietet Schutz vor Datenverlust, Hardware-Ausfällen und menschlichen Fehlern.

Vorbereitung

Hier sind die Voraussetzungen:

  • Ein laufender Raspberry Pi mit Docker installiert
  • Grundlegende Kenntnisse in der Shell und Docker
  • Ein günstiger Speicherort für die Backups (z.B. eine externe Festplatte oder ein Netzwerk-Speicher)

Das Backup-Skript

Hier das vollständige Backup-Skript:

#!/bin/bash

# Setup variables
DATE=$(date +%Y-%m-%d_%H-%M-%S)
BACKUP_DIR="/path/to/backup/$DATE"
VOLUMES=$(docker volume ls -q)

# Create backup directory
mkdir -p $BACKUP_DIR

# Function to backup each volume
backup_volume() {
    VOLUME=$1
    docker run --rm -v $VOLUME:/volume -v $BACKUP_DIR:/backup ubuntu tar -czf /backup/$VOLUME.tar.gz -C /volume . 
}

# Loop through each volume and backup
for VOLUME in $VOLUMES
do
    echo "Backing up volume $VOLUME..."
    backup_volume $VOLUME
    echo "Volume $VOLUME backed up successfully."
done

# Cleanup old backups (older than 7 days)
find /path/to/backup/ -type d -mtime +7 -exec rm -rf {} \;

echo "Backup completed."

Erklärung des Backups-Skripts

  • DATE: Das aktuelle Datum und Uhrzeit werden gespeichert
  • BACKUP_DIR: Definiert das Zielverzeichnis für die Backups
  • VOLUMES: Holt eine Liste aller Docker-Volumes im System
  • mkdir -p: Erstellt das Backup-Verzeichnis
  • backup_volume: Funktion zum Backup eines Volumes mit docker run, tar und gzip
  • for loop: Durchläuft alle Volumes und führt die Backup-Funktion aus
  • find: Löscht alte Backups, die älter als 7 Tage sind

Wie du das Skript ausführst

Um das Skript auszuführen, speichere den obigen Code in einer Datei, z.B. `backup_docker_volumes.sh`. Mache die Datei ausführbar:

chmod +x backup_docker_volumes.sh

Starte das Skript mit:

./backup_docker_volumes.sh

Automatisierung des Backups

Du kannst dieses Backup-Skript mithilfe von cron jobs automatisieren:

crontab -e

Und füge die folgende Zeile hinzu, um das Skript jeden Tag um 2 Uhr morgens auszuführen:

0 2 * * * /path/to/backup_docker_volumes.sh

Mit dieser Anleitung kannst du sicherstellen, dass deine Docker-Volumes regelmäßig gesichert werden, und somit den Schutz deiner wichtigen Daten auf deinem Raspberry Pi erhöhen.

Docker Raspberry Pi Backup Script
Docker Raspberry Pi Backup Script

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert