Hier der kurze Praxistest 🙂
root@visionfive2:/etc# apt install restic Reading package lists... Done Building dependency tree... Done Reading state information... Done Suggested packages: libjs-sphinxdoc sphinx-rtd-theme-common The following NEW packages will be installed: restic 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 6,899 kB of archives. After this operation, 20.8 MB of additional disk space will be used. Get:1 http://ports.ubuntu.com lunar/universe riscv64 restic riscv64 0.14.0-1 [6,899 kB] Fetched 6,899 kB in 1s (5,589 kB/s) Selecting previously unselected package restic. (Reading database ... 34675 files and directories currently installed.) Preparing to unpack .../restic_0.14.0-1_riscv64.deb ... Unpacking restic (0.14.0-1) ... Setting up restic (0.14.0-1) ... Processing triggers for man-db (2.11.2-1) ... root@visionfive2:/etc# restic version restic 0.14.0 compiled with go1.19.2 on linux/riscv64 root@visionfive2:/etc# restic self-update writing restic to /usr/bin/restic find latest release of restic at GitHub latest version is 0.15.2 download SHA256SUMS download SHA256SUMS.asc GPG signature verification succeeded download restic_0.15.2_linux_riscv64.bz2 downloaded restic_0.15.2_linux_riscv64.bz2 saved 21954560 bytes in /usr/bin/restic successfully updated restic to version 0.15.2 root@visionfive2:/etc# restic version restic 0.15.2 compiled with go1.20.3 on linux/riscv64 root@visionfive2:/etc#Restic - Ein Backupkonzept - Automatisieren!
-
Nach der Erstellung von folgendem Artikel Restic - Ein Backupkonzept habe ich eine Zeit lang gebraucht um mir ein vernünftiges Konzept zu erstellen. Backup's sind eine relativ komplexe und schwierige Materie. Wo lagert man? Was lagert man? Wie sichert man die Daten? usw.
Wichtige Daten in der eigenen Wohnung zu sichern ist so lange eine gute Idee, bis die Wohnung mal brennt oder die Datenspeicher gestohlen werden. Auf dem Smartphone, das wäre auch noch eine Lösung. In der Cloud!? Hat was, aber ich traue allen kommerziellen Anbietern nicht über den Weg. Was machen? Man nimmt was eigenes, z.B. eine Nextcloud Installation. Da hat man weitestgehend alles in der eigenen Hand. Bleibt das Problem, das wir sehr wichtige Daten NUR verschlüsselt in der Cloud ablegen. Wir wollen es einem evt. Eindringling ja nicht zu einfach machen
Gut, das mit der Verschlüsselung haben wir ja gelöst, Restic speichert alle Backup's verschlüsselt. Bei der Suche nach einem Konzept bin ich in der Bedienungsanleitung über die Backends gestolpert, die Restic alle so unterstützt.
Die kommerziellen Sachen scheiden aus usw. Am Ende bin ich über Rclone gestolpert.
Rclone is a command line program to sync files and directories to and from
Rclone syncronisiert also einen Ordner mit einem Clouddienst. Und da kommt nun Restic ins Spiel, Restic nutzt Rclone zum Speichern der Daten in der Cloud. RClone unterstützt Nextcloud (natürlich auch Owncloud). Somit hätten wir ein gutes Team um Daten verschlüsselt in der Cloud abzulegen, welches sich auch relativ einfach automatisieren lassen sollte. Ok, fangen wir vorne an. Ich gehe von einer funktionierenden Restic Installation aus. Als Backend sollte eine Nextcloud Installation irgendwo im Netz laufen. Auf geht's...
Rclone Installation
Dieses Script installiert Rclone auf dem Rechner.
curl https://rclone.org/install.sh | sudo bash
Nach der erfolgreichen Installation kommt folgendes
rclone v1.40 has successfully installed. Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.
Rclone konfigurieren
Mit
rclone config
stellt man die wichtigsten Parameter für Rclone ein.
- Den Namen der Remoteverbindung - nextcloud
- Den Type des Datenspeichers - 20 (Webdav)
- URL of http Host - Den Webdav Pfad zu Eurer Nextcloud Installation
- Name des Webdav Services - 1 (Nextcloud)
- User Name - User Name (In Nextcloud festlegen!)
- Passwort - Passwort (In Nextcloud festlegen)
Das ganze bestätigen und kurz testen.
rclone ls nextcloud:
Nun sollte der Inhalt des Verzeichnisses ausgegeben werden.
frank@frank-MS-7A34 ~ $ rclone ls nextcloud: 5 TESTING.txt
Erledigt, Rclone läuft. Nun der Teil mit Restic....
Restic
Nun schauen wir uns das mal mit Restic etwas genauer an.
Beim ersten Test bekam ich immer eine Fehlermeldung
frank@frank-MS-7A34 ~ $ restic -r rclone:nextcloud init Fatal: create repository at rclone:nextcloud failed: invalid backend If the repo is in a local directory, you need to add a 'local:' prefix
Ok, kurz gegrübelt, das Backend ist drin auf github gecheckt. Klick, ich hatte eine alte Version installiert. Also schnell die neue Version gebaut und das Ganze sah schon besser aus.
frank@frank-MS-7A34 ~/restic $ restic -r rclone:nextcloud:TEST init enter password for new repository: enter password again: created restic repository 7d6d14e068 at rclone:nextcloud:TEST
Gut, läuft so weit. Kurz noch einen Anmerkung zum Pfad. Nehmen wir folgende Rclone Einstellung an.
https://PFAD_zu_NEXTCLOUD/remote.php/webdav/BACKUP
Der Restic Aufruf
rclone:nextcloud:TEST
zeigt auf einen Ordner innerhalb des Ordners Backup. Als Pfadangabe:
https://PFAD_zu_NEXTCLOUD/remote.php/webdav/BACKUP/TEST
Somit hätten wir jetzt das Repo vorbereitet und können jetzt unsere Daten dort speichern.
frank@frank-MS-7A34 ~/restic $ restic -r rclone:nextcloud:TEST backup /home/frank/Bilder/21.04/ enter password for repository: password is correct found 2 old cache directories in /home/frank/.cache/restic, pass --cleanup-cache to remove them
Hier sieht man einen Aufruf um aus dem Ordner 21.04 die Bilder in Nextcloud zu sichern.Das Passwort wird abgefragt, und wenn korrekt wird gesichert. Im Beispiel tauchen noch alte Cache Dateien auf, hiermit bekommt man die weg.
restic -r rclone:nextcloud:TEST backup /home/frank/Bilder/21.04/ --cleanup-cache
Cronjob anlegen
Schnell ein Script für den Cron schreiben. Das Script heißt backup.sh
#!/bin/bash # Script um mit Restic & Rclone Daten automatisiert zu sichern! # PW hinterlegen export RESTIC_PASSWORD=12345678 #Was soll gesichert werden? backup_pfad=/media/NAS/ #Programm Start restic -r rclone:nextcloud:Daten backup $backup_pfad
Einen Cronjob anlegen
crontab -e
Folgendes eingeben
# m h dom mon dow command 00 20 * * * /home/frank/backup.sh
Speichern - Fertig!
Jeden Tag um 20:00 Uhr werden die Daten entsprechend gesichert!
-
-
-
-
-
-
-
Restic - Ein Backupkonzept
Angeheftet Restic -