Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:borgbackup [2022/12/05 09:42] ingo_wichmann |
admin_grundlagen:borgbackup [2024/08/08 15:29] (aktuell) ingo_wichmann [Restore] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | Features, die mir in Borg fehlen: | ||
+ | * Client kann Backups löschen, der append-only Mode auf dem Server löst das Problem nicht. [[https://packages.debian.org/bullseye/restic|restic]] kann das. | ||
+ | * der tar-export beim Wiederherstellen kann nicht mit ACLs, XATTRS und BSD-Flags umgehen. | ||
+ | |||
====== Backup Server ====== | ====== Backup Server ====== | ||
Voraussetzung: | Voraussetzung: | ||
Zeile 11: | Zeile 15: | ||
touch /srv/borg/.ssh/authorized_keys | touch /srv/borg/.ssh/authorized_keys | ||
chmod 600 /srv/borg/.ssh/authorized_keys | chmod 600 /srv/borg/.ssh/authorized_keys | ||
+ | chown -R borg:borg /srv/borg | ||
====== Backup Client ====== | ====== Backup Client ====== | ||
Pakete: | Pakete: | ||
Zeile 22: | Zeile 26: | ||
Public-Key auf dem Backup Server in der Datei ''/srv/borg/.ssh/authorized_keys'' hinterlegen. | Public-Key auf dem Backup Server in der Datei ''/srv/borg/.ssh/authorized_keys'' hinterlegen. | ||
- | ===== Archiv anlegen ====== | + | ===== Backup Repository anlegen ====== |
als Benutzer root: | als Benutzer root: | ||
export BORG_REPO='borg@backupserver.example.org:/srv/borg/client1.example.org' | export BORG_REPO='borg@backupserver.example.org:/srv/borg/client1.example.org' | ||
Zeile 38: | Zeile 42: | ||
===== Backup erzeugen ===== | ===== Backup erzeugen ===== | ||
- | borg create -x --compression zstd --numeric-owner ::brahma-{now:%Y-%m-%d} / | + | borg create -x --compression zstd --numeric-ids ::client1-{now:%Y-%m-%d} / |
+ | |||
+ | ==== als Cronjob ==== | ||
+ | <file crontab /etc/cron.d/borgbackup> | ||
+ | BORG_REPO='borg@backupserver.example.org:/srv/borg/client1.example.org' | ||
+ | BORG_RSH='ssh -i ~/.ssh/id_ed25519_borgbackup' | ||
+ | |||
+ | 13 23 * * * root borg create -x --compression zstd --numeric-ids ::client1-{now:\%Y-\%m-\%d} / | ||
+ | </file> | ||
+ | |||
+ | ===== Restore ===== | ||
+ | |||
+ | Backup auf einem anderen Rechner wiederherstellen. | ||
+ | |||
+ | Zugriff auf den Borg-Server mit dem aktuellen Benutzer: | ||
+ | export BORG_REPO='backupserver.example.org:/srv/borg/client1.example.org' | ||
+ | |||
+ | borg auf dem Server als Benutzer borg ausführen: | ||
+ | export BORG_REMOTE_PATH='sudo -u borg borg' | ||
+ | |||
+ | Backups anzeigen: | ||
+ | borg list | ||
+ | borg list ::client1-2024-08-08 | ||
+ | |||
+ | Daten aus Backup wiederherstellen: | ||
+ | mkdir /tmp/restore | ||
+ | cd /tmp/restore | ||
+ | borg extract --progress ::client1-2022-12-03 | ||
+ | |||
+ | ===== Wie gehts weiter? ===== | ||
+ | Wenn das alles geklappt hat, dann gleich noch mal von vorne ohne ''--encryption none''. Schlüssel gut aufbewahren! | ||
+ | |||
+ | Und den cronjob durch [[https://packages.debian.org/bullseye/borgmatic|borgmatic]] ersetzen. | ||
+ | |||