Backup repositories

Unsere Backups werden mit dem OpenSource Programm „Borg“ angelegt und in sogenannten Repositories gespeichert. Alles generelle über Borg erfährst du in der offiziellen Dokumentation.

Um die Repositories anzulegen die später für das speichern der Backups verwendet werden nutzen wir ein kleines Ansible-Playbook das du hier findest: moan0s/ansible-playbook-borgbackup-host.

Eine typische vars.yml sieht so aus:

borgbackup_server_base_path: /home/mash-backup/backup

borgbackup_server_auth_users:
  - host: schneckerich-der-schreckliche.queereszentrumtuebingen.de
    key: "ssh-ed25519 AAAAC3BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCC qz_backup"
  - host: s3.hyteck.de
    key: "ssh-ed25519 AAAAC3BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCC MASH"

Mit dieser Konfiguration macht das Playbook folgendes:

  • Es legt den User borgbackup auf dem Server an

  • Es erstellt Ordner für die Repositories, z.B. /home/mash-backup/backup/repos/schneckerich-der-schreckliche.queereszentrumtuebingen.de

  • und schreibt in .ssh/authorized_keys die angegebenen Public Keys

Somit kann der Server, der sein Backup in das Repo schreiben will, auch auf den Backup-Server zugreifen - ein bisschen Borg-Backup-Magie stellt aber sicher, dass jeder Server nur auf sein eigenes Backup-Repository zugreifen kann.