Regelmässige Backups sind unverzichtbar – egal ob für Server, Docker-Container oder persönliche Daten. Mit Restic steht dir ein schnelles, sicheres und verschlüsseltes Open-Source-Backup-Tool zur Verfügung. Es unterstützt lokale, SSH-basierte und Cloud-Speicherziele. In diesem Tutorial zeigen wir, wie du Restic auf Ubuntu installierst, einrichtest und automatische Backups planst.


1. Was ist Restic?

Restic ist ein modernes Backup-Tool für Linux, macOS und Windows.
Es bietet:

  • Vollständige Verschlüsselung (AES-256 + HMAC)
  • Deduplizierung, um Speicherplatz zu sparen
  • Unterstützung vieler Speicherziele (lokal, SFTP, S3, rclone, B2, usw.)
  • Schnelle Wiederherstellung einzelner Dateien oder ganzer Systeme
  • Automatisierbare Backups über Cronjobs

2. Installation auf Ubuntu

Restic ist direkt im Ubuntu-Repository enthalten. Installation mit:

sudo apt update
sudo apt install restic -y

Version prüfen:

restic version

3. Repository erstellen

Ein Restic-Repository ist der Ort, an dem die Backups gespeichert werden.
Das kann ein lokaler Pfad oder ein externer Speicher sein.
Beispiel für ein lokales Repository:

sudo mkdir -p /backup/restic
sudo restic init --repo /backup/restic

Du wirst nach einem Passwort gefragt – dieses schützt dein Backup.
Wichtig: Passwort sicher notieren! Ohne es ist keine Wiederherstellung möglich.


4. Backup erstellen

Ein einfaches Backup eines Ordners (z. B. /home):

sudo restic -r /backup/restic backup /home

Während des Backups zeigt Restic an, welche Dateien gesichert und welche übersprungen wurden.
Wiederhole diesen Befehl, um neue oder geänderte Dateien effizient zu sichern.


5. Backup auf Remote-Server (SSH)

Restic kann auch über SSH sichern, z. B. auf einen anderen Server oder NAS:

export RESTIC_REPOSITORY=sftp:user@backup-server:/data/restic
export RESTIC_PASSWORD=DEIN_PASSWORT
restic init
restic backup /etc /home

Alternativ kannst du diese Umgebungsvariablen in einer Datei speichern, z. B. ~/.restic-env, und dann in Skripten wiederverwenden.


6. Automatisches Backup mit Cron

Erstelle ein Skript, das dein Backup regelmässig ausführt:

nano ~/restic-backup.sh

Inhalt:

#!/bin/bash
export RESTIC_REPOSITORY=/backup/restic
export RESTIC_PASSWORD=DEIN_PASSWORT
restic backup /etc /home /var/www
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Speichern und ausführbar machen:

chmod +x ~/restic-backup.sh

Dann Cronjob hinzufügen:

crontab -e

Beispiel: tägliches Backup um 2 Uhr morgens

0 2 * * * /home/$USER/restic-backup.sh >> /var/log/restic.log 2>&1

7. Backups prüfen und wiederherstellen

Liste vorhandene Snapshots auf:

restic -r /backup/restic snapshots

Wiederherstellung eines Snapshots:

restic -r /backup/restic restore <SNAPSHOT_ID> --target /restore

Restic extrahiert dann alle Dateien in das angegebene Verzeichnis.


8. Speicherverbrauch optimieren

Mit der Zeit sammeln sich alte Snapshots an.
Bereinige alte Backups mit:

restic forget --keep-last 10 --prune

Dadurch bleiben nur die letzten 10 Snapshots erhalten, alte werden gelöscht und der Speicherplatz wird freigegeben.


9. Verschlüsselung überprüfen

Alle Restic-Backups sind standardmässig verschlüsselt.
Zur Kontrolle kannst du prüfen, ob das Repository lesbar ist:

restic check

So stellst du sicher, dass keine Daten beschädigt wurden und die Verschlüsselung funktioniert.


10. Fazit

Mit Restic richtest du in wenigen Minuten ein sicheres, verschlüsseltes und automatisiertes Backup-System ein.
Ob lokal, auf einem externen Server oder in der Cloud – Restic ist zuverlässig, effizient und frei von proprietären Einschränkungen.

In Kombination mit einem Cronjob läuft dein Backup völlig automatisch und schützt deine Serverdaten dauerhaft vor Verlust.


Tipp:
Kombiniere Restic mit Tools wie rclone oder MinIO, um deine Backups zusätzlich extern zu sichern – ideal für Offsite-Backups.