Meine Backup Strategie

mit Restic und Rsync ♦ Lesezeit: 2:57

Hier sind meine Erfahrungen und meine Strategie.

Backup Programme und Cloud

In den letzten 30 Jahren habe ich viele Backup Programm und Clouds ausprobiert, unter anderen:

  • ACRONIS True Image : Software funktioniert gut, ist aber auch teuer. No go: Cloud in USA!
  • AMAZON Cloud: War preiswert. Wird nicht mehr angeboten.
  • Apple iCloud: Gut in das Betriebssystem integriert. Aber redundante Datenhaltung unter Library und keine eigene Verschlüsselung. Cloud in USA!
  • ARQ Backup: Funktioniert, aber sehr langsam. Vertrauen in den Hersteller.
  • Backblaze: Funktioniert gut. Für Backup Restore wird Schlüssel verlangt und damit ist Sicherheit dahin. Cloud in USA!
  • Carbon Copy Cloner: Funktioniert sehr gut. Nicht für die Cloud.
  • rsync: Funktioniert gut und schnell. Aber ohne Client seitige Verschlüsselung. Daher für mich nicht für die Cloud geeignet. Für die das verschlüsselte NAS aber sehr gut.
  • tar alt und abgehangen
  • Tresorit: Sehr gut, aber auch sehr sehr teuer.

Richtig zufrieden war ich bis jetzt nicht. Die Programme waren oft zu langsam, zu kompliziert oder zu teuer. Insbesondere die Rücksicherung einzelner Dateien oder ein komplette Rücksicherung sind oft kompliziert und fehlerträchtig.

Meine Anforderungen an eine Backup Lösung

  • Ca. 400 bis 500 GB
  • Cloud: Ein Backup muss außer Haus liegen. Standort Deutschland.
  • Client seitige Verschlüsselung. Nur so sind die Daten sicher.
  • Dokumentation muss gut sein
  • Einfache Backups
  • Einfacher Restore
    • Rücksicherungen mit mehreren inkrementellen Ständen ist viel zu kompliziert und fehlerträchtig.
    • Rücksicherung einzelner Verzeichnisse oder Dateien muss einfach sein.
  • Fehlertollerant, nach Abbruch muss Programm weitermachen.
  • Gleiche Software für Sicherung auf lokalen Medien, im lokalen Netz und in der Cloud
  • Keine Unterscheidung zwischen wichtigen und unwichtigen Daten, das geht garantiet schief und verkompliziert das Backup.
  • Mehere Versionsstände
  • Open Source
  • Schnell
  • Sicher
  • Speichereffizenz
  • Stündliche Sicherung lokal auf externe Plattformen
  • Tägliche Sicherung in der Cloud
  • Zwei verschiedene Software Lösungen

Meine Backup Strategie

  • Cloud: HiDrive mit verschlüsseltem Restic .
  • Client seitige Verschlüsselung: Restic hat automatische Client seitige AES-256 Verschlüsselung.
  • Dokumentation muss gut sein: Sehr gute Restic Dokumentation .
  • Einfache Backups: Restic Backups sind sehr einfach. Man muss sich keine Gedanken wie zu Differenzielle-, Inkrementelle-, Vollsicherung, etc. machen.
  • Einfacher Restore.
    • Rücksicherungen mit mehreren inkrementellen, etc. Ständen sind viel zu kompliziert und fehlerträchtig. Einfach Snapshot auswählen und rücksichern.
    • Rücksicherung einzelner Verzeichnisse oder Dateien muss einfach sein. Einfach Snapshot auswählen und mit z.B. include Verzeichnis angeben und rücksichern.
  • Fehlertollerant: Restic ist fehlertolerant, dies war einer der Designziele.
  • Gleiche Software für Sicherung auf lokalen Medien, im lokalen Netz und in der Cloud: Restic funktioniert überall.
  • Keine Unterscheidung zwischen wichtigen und unwichtigen Daten: Restic macht immer eine Vollsicherung mit Deduplucation.
  • Maximal zwei verschiedene Software Lösungen:
    • a) Restic für lokale und Cloud Erstsicherung
    • b) Rsync für Sicherung auf das NAS
  • Mehere Versionsstände: Restic legt bei jeder Sicherung einen neuen Snashot an.
  • Open Source: Restic und Rsync sind Open Source.
  • Schnell: Restic und Rsync sind hinreichend schnell
  • Sicher: Restic verschlüsselt Backups automatisch mit dem AES-256-Verfahren
  • Speichereffizenz: Durch deduplication wird bei neuen Backups nur wenig weiterer Speicher verbraucht.
  • Stündliche Sicherung lokal auf externe Plattformen: Restic
  • Tägliche Sicherung: a) In der Cloud: Restic b) NAS: Rsync

Restic deckt meine Bedürfnisse vollständig ab.

Da das Repository Format von Restic einzigartig ist und keine andere Software dieses Format lesen kann nutze ich aus Sicherheitsgründen Rsync als Backuplösung für die Sicherung auf der verschlüsselten Platte im NAS. Rsync ist alt und zuverlässig.

Restic Wrapper

Da die Eingabe des Repositories und Passwortes auf die Dauer lästig ist, habe ich mir einen kleinen restic Wrapper geschrieben. Insbesonder mit mehreren Repositories erleichtert der Wrapper das Leben. Die Syntax entspricht der von Restic.

#!/usr/bin/env zsh
set -o nounset
set -C

readonly RESTIC="/usr/local/bin/restic"
export RESTIC_PASSWORD=$(security find-generic-password -a ${USER} -s backup -w)

while getopts ":ab" opt
do
    case $opt in
        a)  export RESTIC_REPOSITORY="sftp:XXX@sftp.hidrive.strato.com:/users/XXX/backup/restic-repo"
            ;;
        b)  export RESTIC_REPOSITORY="/Volumes/VL-11-MINI-DATEN/restic-repo/"
            ;;
        c) weiter Repositories ...;;
        :)  echo "bad getopts-option $OPTARG."
            usage; exit 1;;
        \?) echo "bad getopts-option $1"
            usage; exit 1;;
    esac
done

shift $((OPTIND-1))

${RESTIC} "$@"

unset RESTIC_PASSWORD
unset RESTIC_REPOSITORY

Der Aufruf erfolgt dann analog wie mit restic.

restic.sh -a snapshot
#Backup