Vollständige Linux-Datensicherungen mit dem dd_image.sh Script – Komprimiert, Remote, Automatisiert

Repository: https://github.com/andreas-schwab-swx/dd_image

Wer eine einfache, aber leistungsfähige Lösung für vollständige Disk-Image-Backups unter Linux sucht, findet mit dem dd_image Script ein vielseitiges Werkzeug: Es erstellt vollständige Festplattenabbilder, komprimiert diese on-the-fly und überträgt sie automatisiert per SSHFS auf einen entfernten Server – mit Logging, Aufbewahrungslogik und optionaler Benachrichtigung.

Funktionen im Überblick

  • Vollständige Disk-Backups mittels dd
  • Live-Kompression mit xz
  • Remote Storage via sshfs
  • Automatische Löschung alter Backups
  • Fortschrittsanzeige und Logging
  • Verhindert Parallelstarts mit Lock-Datei
  • Optionale E-Mail-Benachrichtigungen bei Erfolg oder Fehler
  • Optionales Zero-Fill zur besseren Kompression

Voraussetzungen

  • Root-Zugriff auf ein Linux-System
  • Installierte Tools: sshfs, xz-utils, mailutils (optional)
  • SSH-Zugang mit Schlüssel zum Backup-Server
  • Genug Speicherplatz auf der Remote-Zielpartition

Installation und Konfiguration

Repository klonen und konfigurieren:

Bash
git clone https://github.com/andreas-schwab-swx/dd_image.git
cd dd_image
cp config.example.sh config.sh
nano config.sh

In der config.sh werden SSH-Zugang, Backup-Ziel, Laufwerk (/dev/sda, /dev/nvme0n1 etc.), Aufbewahrungsdauer und Logging sowie E-Mail-Adressen konfiguriert.

Script installieren:

Bash
chmod +x deploy-script.sh
sudo ./deploy-script.sh

Das Script wird nach /usr/local/sbin/dd_image.sh installiert, Logs landen in /var/log/dd_image/, Konfigurationsdateien unter /etc/dd_image/.

Backup manuell oder via Cron

Manuell ausführen:

Bash
sudo /usr/local/sbin/dd_image.sh

Wöchentlicher Cronjob (z. B. Sonntag 2:00 Uhr):

Bash
sudo crontab -e
0 2 * * 0 /usr/local/sbin/dd_image.sh

Optionale GitHub Actions Integration

Für automatisierte Updates via CI/CD kannst du die mitgelieferte GitHub Actions-Workflow-Datei verwenden (.github/workflows/deploy.yml). Voraussetzung ist ein eingerichteter SSH-Zugang und definierte Secrets in deinem Repository (HOST, USERNAME, SSH_KEY).

Performance-Tipps

  • Blockgröße: bs=32M (empfohlen für Systeme mit 8 GB+ RAM)
  • xz-Threads: -T2 (für 4 vCPUs)
  • Kompression: -3 (Standard), -5 für bessere Kompression
  • Speicherlimit: xz auf 4 GiB begrenzt, um RAM-Überlastung zu vermeiden

Fazit

Das dd_image-Script ist ideal für alle, die ihre Server oder Systeme vollständig sichern möchten – ohne auf komplexe Tools oder grafische Oberflächen angewiesen zu sein. Die Kombination aus Live-Kompression, Remote-Speicherung und optionaler Automatisierung bietet eine starke Grundlage für jede Backup-Strategie auf Linux-Systemen.

Mehr Informationen und Quellcode: https://github.com/andreas-schwab-swx/dd_image

Kommentare

Schreibe einen Kommentar