3. Backup¶
Für das Backup des Server kann BorgBackup2 verwendet werden.
Installation¶
sudo apt install borgbackup2
Backup Verzeichnis¶
In diesem Guide stellen wir die lokale Speicherung des Backups vor, da diese jeder mit einem Server verwenden kann. Dennoch empfehlen wir das Sichern des Backups auf einem dedizierten Gerät (StorageBox, anderer Server, NAS, ...).
Erstellung des Backup Verzeichnisses¶
Zu der lokalen Sicherung des Backups verwenden wir einen Ordner im /home Verzeichnis und geben ihm die selben Rechte
wie dem /home/admin Verzeichnis, damit alle Administrator des Servers auf dieses Backup zugreifen können.
sudo mkdir -m 770 /home/backups
sudo chown root:admin /home/backups
Initialisierung des Verzeichnisses als Backupverzeichnis¶
borg2 -r /home/backups rcreate -e repokey-blake2-chacha20-poly1305
Sichern von kritischen Verzeichnissen¶
Wie oben schon beschrieben empfehlen wir hier das Sichern von den Verzeichnissen welche wir hier im Guide erstellen. Man sichert aber lieber zu viel, als zu wenig!
Der Aufbau des Sicherungsbefehl ist folgender:
borg2 -r /backup/verzeichnis create name_des_archives_in_borg /zu/sicherndes/verzeichnis
Um nicht jedes Verzeichnis einzeln auszuführen, haben wir uns dafür ein kleines Skript geschrieben. Wir empfehlen dieses Skript in einem Screen auszuführen, da je nach Dateigröße das intiale Backup bis zu mehreren Stunden dauern kann.
Hierbei sollte beachtet werden, dass das Skript zwangsläufig unter dem root-Nutzer ausgeführt werden muss, sodass voller Zugriff auf alle Pfade besteht.
Note
Die folgenden Verzeichnisse sind jene, die im Rahmen dieses Guides aktiv verwendet werden.
Selbstverständlich können auch zusätzliche Pfade in das Backup aufgenommen werden – denn: „Kein Backup, kein Mitleid!“
# backup.sh
declare -A map=(
["admin"]="/home/admin"
["srv"]="/srv"
["nginx"]="/etc/nginx/sites-available"
["network"]="/etc/network/"
["certificates"]="/root/.acme"
)
for name in ${!map[@]}; do
paths="${map[${name}]}"
borg2 -r /home/backups create "${name}" "${paths}"
done
Note
Die Umgebungsvariable BORG_PASSPHRASE kann beim Aufruf des Skripts verwendet werden, um das gleiche Passwort für jedes Verzeichnis zu verwenden.
Hierbei ist zu beachten, dass das Skript als root Nutzer ausgeführt werden muss, da sonst erforderliche Privilegien zur Durchführung des Backups fehlen.
sudo -s
BORG_PASSPHRASE=s3cr3t-s3cur3-p4ssw0rd bash backup.sh