1. Index
  2. Debian
  3. Desktop
  4. Heimserver
  5. Webserver

Daten sichern

Restic zerlegt, dedupliziert, verschlüsselt und speichert Daten entweder in einem lokalen Verzeichnis, per SFTP auf einem entfernten Rechner oder bei diversen Cloud-Anbietern.

Paket installieren

Die Software besteht aus genau einem Programm und ein paar Handbuchseiten.

apt install restic

Auf dem Zielsystem legen wir einen Benutzer an, der die verschlüsselten Daten entegegen nimmt.

adduser --system --group --home /srv/restic restic

Damit wir einen passwortfreien Zugriff per SSH bekommen, hinterlegen wir dort den öffentlichen Schlüssel des Administrators unter /srv/restic/.ssh/authorized_keys. Den Zielpfad und das zugehörige Passwort kennt nur das zu sichernde Quellsystem.

/etc/restic.env
RESTIC_REPOSITORY="sftp:restic@ilvermorny:/srv/restic/durmstrang" RESTIC_PASSWORD="Password"

Daten regelmäßig sichern

Ein Timer sichert täglich alle wichtigen Datenverzeichnisse und Datenbanken.

/etc/systemd/system/restic-backup.service
[Unit] Description=Restic backup service [Service] Type=oneshot EnvironmentFile=/etc/restic.env ExecStart=/usr/bin/restic backup --tag timer /home /srv ExecStart=/usr/bin/sh -c "su postgres -c pg_dumpall | /usr/bin/restic backup \ --stdin --stdin-filename postgres.dump --tag postgres" ExecStartPost=/usr/bin/restic forget --tag timer \ --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --keep-yearly 3

und

/etc/systemd/system/restic-backup.timer
[Unit] Description=Daily backup with restic [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target

Alte Daten löschen

Ein weiterer Timer räumt nicht mehr benötigte Brocken auf. Es genügt aber, wenn diese vergleichswiese teure Operation monatlich ausgeführt wird.

/etc/systemd/system/restic-prune.service
[Unit] Description=Restic pruning service [Service] Type=oneshot EnvironmentFile=/etc/restic.env ExecStart=/usr/bin/restic prune

und

/etc/systemd/system/restic-prune.timer
[Unit] Description=Monthly restic repository pruning [Timer] OnCalendar=monthly Persistent=true [Install] WantedBy=timers.target

Sicherung aktivieren

Schließlich initialisieren wir das Depot und aktivieren die Wecker.

. /etc/restic.env
export RESTIC_REPOSITORY
export RESTIC_PASSWORD
restic init
systemctl daemon-reload
systemctl enable --now restic-backup.timer
systemctl enable --now restic-prune.timer