Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:borgbackup [2022/12/04 07:38] 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: | ||
| - | borg --rsh='ssh -i ~/.ssh/id_ed25519_borgbackup' init --encryption none borg@backupserver.example.org:/srv/borg/client1.example.org | + | export BORG_REPO='borg@backupserver.example.org:/srv/borg/client1.example.org' |
| + | export BORG_RSH='ssh -i ~/.ssh/id_ed25519_borgbackup' | ||
| + | borg init --encryption none | ||
| ==== Archiv anzeigen ===== | ==== Archiv anzeigen ===== | ||
| - | borg --rsh='ssh -i ~/.ssh/id_ed25519_borgbackup' list borg@backupserver.example.org:/srv/borg/client1.example.org | + | borg list |
| + | (ist jetzt noch leer) | ||
| ===== ssh Zugang einschränken ===== | ===== ssh Zugang einschränken ===== | ||
| Zeile 35: | Zeile 42: | ||
| ===== Backup erzeugen ===== | ===== Backup erzeugen ===== | ||
| - | borg --rsh='ssh -i ~/.ssh/id_ed25519_borgbackup' create -x --compression zstd --numeric-owner borg@backupserver.example.org:/srv/borg/client1.example.org::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. | ||
| + | |||