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.