IT-Tagebuch

Meine Gedanken rund um die Datenpflege

Serverbackup mit Restic und Rclone

- Veröffentlicht unter Server von

Mithilfe von Restic und Rclone ist die Backupsicherung vom Server ein leichtes. In diesem Anwendungsfall wird das Backup auf eine Hetzner Storagebox die per WebDAV eingebunden ist durchgeführt.

1. Restic für die Sicherung

apt update
apt install restic

2. Rclone für den Zugriff

curl https://rclone.org/install.sh | bash

Die Installation erfolgt dann automatisiert im Anschluss.

3. Rclone konfigurieren Aufrufen des Konfigurationsmenüs

rclone config

Folgende Einstellungen habe ich für die Storagebox vorgenommen

  • new remote
  • name> storagebox (frei wählbar)
  • 56 (WEBDAV)
  • als Zielurl die der Storagebox angeben: https://uXXXXXX@uXXXXXX.your-storagebox.de
  • Punkt 6, rclone webdav-Server
  • username eingeben uXXXXXXXX
  • yes, Passwort der Storagebox eingeben
  • Enter, No, Yes, Quit

4. Schlüsselaustausch der Maschinen durchführen

Der Schlüsselaustausch erfolgt...

ssh-copy-id -p23 -s uXXXXXX@uXXXXXX.your-storagebox.de

5. Storagebox vorbereiten

Per WinSCP o.ä. zur Storagebox verbinden und den gewünschten Ordner erstellen. Im Anschluss das Repository initialisieren.

restic --repo rclone:storagebox:/ZIELORDNER init

Passwort für das Repo festlegen und sicher verwahren! Andernfalls ist ein Restore nicht mehr möglich! Im folgenden erstellen wir ein erstes Backup und schauen ob die Verbindung funktioniert.

restic --repo rclone:storagebox:/ZIELORDNER backup QUELLORDNER

Nun fassen wir das ganze in einem Skript zusammen.

#!/bin/bash
# Script um mit Restic & Rclone Daten automatisiert zu sichern!

# PW hinterlegen
export RESTIC_PASSWORD=einSICHERESpasswort!

#Was soll gesichert werden?
backup_pfad=/Pfad/zum/Ordner

#Programm Start
restic -r rclone:storagebox:/ZIELORDNER backup $backup_pfad

#aufräumen, letzten 30 Snapshots behalten
restic -r rclone:storagebox:/Zielordner forget --keep-last 30 --prune

Nicht vergessen das Skript ausführbar zu machen (chown +x skriptname.sh) und per Crontab automatisiert durchzuführen!

Wie kann ich die erstellten Sicherungen nun sehen?

Auch dafür erstellen wir uns der Einfachheithalber ein kurzes, aber knappes Skript.

#!/bin/bash
# Script um mit Restic & Rclone Snapshots anzuzeigen

# PW hinterlegen
export RESTIC_PASSWORD=meinSICHERESpasswort

#Programm Start
restic -r rclone:storagebox:/REPO snapshots

Nach dem Aufruf erhalten wir die Infos wann welcher Snapshot mit welchem Pfad erstellt worden ist. Wie geht es nun weiter? Das Backup wollen wir uns im Detail einmal anschauen, dass allerdings an anderer Stelle.