Wir nehmen hier in diesem Beispiel an, wir nutzen irgendwo im Netz einen Server und wollen unser Homeverzeichnis sichern. Restic funktioniert, der Server ist eingerichtet.
Mit Restic können wir die Daten beruhigt auf den Server schieben, die Daten werden AES-256 verschlüsselt abgelegt.
Was brauchen wir?
- Datei /root/excludes.txt
- Datei /root/passwd
- Datei ~/.ssh/config
/root/excludes.txt
Die Datei excludes.txt beinhaltet eine Liste der Dateien, die wir nicht sichern wollen.
.cache
Bilder
Downloads
Musik
Videos
Je nach Vorlieben kann das dann entsprechend eingestellt werden. Die nächste Datei ist ~/.ssh/config
~/.ssh/config
Host <ip address>
User <user name>
Port <port>
Hintergrund für diese Datei. Man kann Restic keinen Port mit übergeben. Wenn man nun, was sinnvoll ist, den Standardport für SSH verlegt habt, dann benötigt man diese Datei damit Restic richtig funktioniert. Das könnt Ihr hier nachlesen.
/root/passwd
Hier kommt das Paswort rein, was wir dem Script mit übergeben. So mit taucht das Passwort auch nicht z.B. in htop auf!!
Passwd12345678
Wir starten mit der Erstellung.
Restic Init
root@frank-MS-7A34:~# restic -r sftp:<ip address>:/<user>/backup/home init
enter password for new repository:
enter password again:
created restic repository fffffffffffffa at sftp:<ip address>:/<user>/backup/home
Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
Erledigt. Die Einrichtung ist abgeschlossen.
Restic Backup
root@frank-MS-7A34:~# restic --password-file /root/passwd -r sftp:<ip address>:/root/backup/home backup --verbose /home/frank --exclude-file=excludes.txt
open repository
repository fffffffffff opened successfully, password is correct
created new cache in /root/.cache/restic
lock repository
load index files
start scan on [/home/frank]
start backup on [/home/frank]
scan finished in 3.888s: 52480 files, 9.811 GiB
<gekürzt!>
Das oben ist nur der Anfang, danach sichert Restic die ganzen Daten auf dem Rootserver. Das Ganze als kleines Script.
Script
#!/bin/bash
# Script um mit Restic Daten automatisiert zu sichern!
#Was soll gesichert werden?
backup_pfad=/home/frank
#Programm Start
restic --password-file /root/passwd -r sftp:<ip address>:/root/backup/home backup --verbose $backup_pfad --exclude-file=excludes.txt
Nix besonderes, aber funktioniert. Das Script dann mittels
crontab -e
als User root eintragen und fertig!
Für Anwender, die das nicht als User Root laufen lassen wollen, gibt es hier eine Erklärung wie man es macht. (Ganz unten)