Don’t get Borged
Solides Backup mit BorgBackup (Arch Linux & Synology NAS)
Mein ThinkBook ist endlich fertig eingerichtet und bis ins letzte Detail customized (Omarchy!). Nach so viel Arbeit wollte ich aber keine Fertig-Lösung installieren, sondern etwas Cooles bauen, bei dem ich auch wieder etwas dazu lerne. Es sollte mit reinen Bordmitteln funktionieren und sich auf alle Linux-Kisten im Haushalt übertragen lassen. Meine Wahl fiel sofort auf BorgBackup.
In diesem Guide zeige ich dir Schritt für Schritt, wie du dein Home-Verzeichnis vollautomatisch auf ein Synology NAS sicherst.
Das Szenario
- Client: ThinkBook mit Arch Linux (Omarchy)
- Server: Synology NAS DS1821+
- Ziel: Verschlüsseltes Backup via SSH
Schritt 1: Installation auf dem Client (Arch)
Da ich Arch Linux nutze, holen wir uns Borg und die FUSE-Treiber (wichtig für den Restore) direkt via pacman.
sudo pacman -S borg python-pyfuse3 fuse3 openssh
Hinweis: Auf dem Synology NAS muss Borg ebenfalls installiert sein (via SynoCommunity Paketquelle).
Schritt 2: Passwortloser SSH-Zugang
Damit das Backup später automatisch läuft, muss deine Client ohne Passworteingabe auf das NAS kommen.
SSH-Schlüsselpaar erzeugen (falls noch nicht vorhanden):
ssh-keygen -t ed25519 -C "client"(Drücke einfach Enter, wenn er fragt wo gespeichert werden soll. Für vollautomatische Backups ohne SSH-Agent lass die Passphrase leer).
Schlüssel auf das NAS kopieren: Hier musst du einmalig dein Synology-Passwort eingeben.
ssh-copy-id user@IP_NASTesten: Der Login muss jetzt ohne Passwort klappen:
ssh user@IP_NAS
Schritt 3: Das Repository initialisieren
Jetzt erstellen wir den verschlüsselten „Tresor“ auf dem NAS.
Wichtig: Da Synology Apps an komischen Orten speichert, müssen wir den Pfad zu Borg (–remote-path) oft manuell angeben.
Führe dies auf deinem Clienten aus:
borg init --encryption=repokey \
--remote-path=/usr/local/bin/borg \
ssh://user@IP_NAS~/Backups/client-repo
- Du wirst aufgefordert, ein Repo-Passwort zu vergeben. Schreib es dir auf! Ohne dieses Passwort sind die Daten Müll.
Schritt 4: Das erste Backup erstellen
Jetzt schieben wir die Daten rüber. Der erste Lauf dauert etwas, alle folgenden sind rasend schnell.
borg create --stats --progress --compression lz4 \
--remote-path=/usr/local/bin/borg \
ssh://user@IP_NAS~/Backups/client-repo::{now} \
~/ \
--exclude '*/.cache' \
--exclude '*/Downloads' \
--exclude '*/.local/share/Trash'
Schritt 5: Automatisierung (Set & Forget)
Niemand hat Lust, Befehle zu tippen. Wir lassen das System die Arbeit machen.
A. Das Skript erstellen
Erstelle die Datei ~/Pfad_zum_Script/backup-clientmit deinem Editor (z.B. nvim):
#!/bin/bash
# ~/Pfad_zum Script/backup-client
# Konfiguration
export BORG_PASSPHRASE='DEIN_GEHEIMES_REPO_PASSWORT' *hier gibt es eine andere Lösung
export BORG_REPO='ssh://user@IP_NAS ~/Backups/client-repo'
echo "🚀 Starte Backup..."
borg create --stats --compression lz4 \
--remote-path=/usr/local/bin/borg \
$BORG_REPO::{now} \
~/ \
--exclude '*/.cache' \
--exclude '*/Downloads' \
--exclude '*/.local/share/Trash'
echo "🧹 Räume alte Backups auf..."
borg prune --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \
--remote-path=/usr/local/bin/borg \
$BORG_REPO
echo "✅ Fertig!"
Mache das Skript ausführbar:
chmod +x ~/Pfad_zum_Script/backup-client
B. Den Timer stellen (Systemd)
Wir nutzen Systemd statt Cron, weil es zuverlässiger ist, wenn der Laptop mal aus war.
Service-Datei: ~/.config/systemd/user/borg-backup.service
[Unit]
Description=Borg Backup Service
[Service]
Type=oneshot
ExecStart=/Pfad_zum_Script/backup-client
Timer-Datei: ~/.config/systemd/user/borg-backup.timer
[Unit]
Description=Tägliches Backup
[Timer]
OnCalendar=19:00
Persistent=true
RandomizedDelaySec=10m
[Install]
WantedBy=timers.target
Service aktivieren:
systemctl --user enable --now borg-backup.timer
Schritt 6: Der Notfall (Daten wiederherstellen)
Ein Backup ist nur so gut wie der Restore. Borg kann Backups als Ordner einbinden (mounten).
Mountpoint erstellen:
mkdir -p ~/mnt/backupBackup einhängen:
borg mount \ --remote-path=/usr/local/bin/borg \ ssh://user@IP_NAS/~/Backups/client-repo \ ~/mnt/backup- Daten kopieren: Jetzt kannst du mit dem Dateimanager einfach in
~/mnt/backupgehen, deine alte Datei suchen und rüberkopieren. Aushängen:
borg umount ~/mnt/backup
Fazit: Dein System sichert sich jetzt jeden Tag von selbst, inkrementell und verschlüsselt. So muss ein modernes Linux-Setup aussehen! 🚀

screenshot 2025 12 14 20 11 04
Lösung: Passwort im Klartext
*Das Passwort sicher hinterlegen
Damit das Skript dieses Repo-Passwort kennt, schreiben wir es nicht ins Skript, sondern in eine geschützte Datei. Wir machen das direkt im Terminal:
# Datei erstellen und Variable setzen
echoexport BORG_PASSPHRASE='DEIN_GEHEIMES_REPO_PASSWORT'> ~/.borg-secret
# Datei absichern (nur DU darfst sie lesen/schreiben)
chmod 600 ~/.borg-secret
Im Script die Zeile
export BORG_PASSPHRASE='DEIN_GEHEIMES_REPO_PASSWORT'
mit dieser ersetzen:
source /home/USER/.borg-secret
Kommentare: 0
Interesse an einer Diskussion? Schreibe einen Kommentar. ▼