Noch als Ergänzung, der Server läuft mit Debian 12
# uname -a Linux webserver1-4gb-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/LinuxRestic - Rootserver als Datenablage nutzen
-
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)
-
Ok, das erste Backup dauert immer was länger In meinem Fall 5 Std. 16 Minuten.
Files: 33408 new, 0 changed, 0 unmodified Dirs: 1 new, 0 changed, 0 unmodified Data Blobs: 20849 new Tree Blobs: 2 new Added to the repo: 6.278 GiB processed 33408 files, 8.604 GiB in 5:16:03 snapshot 5beg1cb3 saved
Aber, das Schöne ist, das die Backups inkrementell angelegt werden. Das nächste geht schneller
open repository repository 3gg202a2 opened successfully, password is correct lock repository load index files using parent snapshot 5beg1cb3 start scan on [/home/frank] start backup on [/home/frank] scan finished in 3.791s: 33788 files, 8.611 GiB Files: 496 new, 74 changed, 33218 unmodified Dirs: 0 new, 1 changed, 0 unmodified Data Blobs: 292 new Tree Blobs: 2 new Added to the repo: 43.661 MiB processed 33788 files, 8.611 GiB in 2:15 snapshot fag41bf7 saved
Eine tägliche Sicherung sollte dann wohl reichen.
-
-
-
-
-
-
-
Redis installieren
Angeheftet Verschoben Redis -