OffshoreVps
Sicherheit25 Sept. 20266 Min. LesezeitVon dem OffshoreVps-Team

Einen VPS mit Restic oder Borg sichern

Verschlüsselte, deduplizierte Backups auf einen zweiten Server: restic- und borg-Befehle, Datenbank-Dumps, Aufbewahrung, Zeitplanung und Test einer Wiederherstellung.

Ein Backup, das Sie wiederherstellen können, ist der Unterschied zwischen einem ärgerlichen Nachmittag und dem Verlust eines Projekts. Die grundlegende VPS-Backup-Anleitung erklärt die Idee. Diese hier geht mit restic und BorgBackup weiter: zwei Werkzeuge, die verschlüsselte, deduplizierte Backups auf einen zweiten Server oder in Objektspeicher anlegen.

Terminalfenster auf einem VPS mit den Befehlen zum Sichern eines VPS mit restic oder borg, beginnend mit „sudo apt install -y restic“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Warum restic oder borg statt einfacher Kopien

  • Deduplizierung. Es werden nur geänderte Daten gespeichert, sodass tägliche Snapshots klein bleiben.
  • Verschlüsselung. Die Daten werden verschlüsselt, bevor sie Ihren Server verlassen.
  • Snapshots. Sie können den Stand jedes vergangenen Tages wiederherstellen.
  • Verifizierung. Beide Werkzeuge können die Integrität des Repositorys prüfen.

Wählen Sie eines. Restic ist einfach und funktioniert mit vielen Speicherarten, darunter SFTP und S3-kompatibler Speicher. Borg ist sehr effizient und arbeitet per SSH mit einem Server, auf dem borg installiert ist.

Wohin Sie Backups senden

Speichern Sie das einzige Backup niemals auf demselben Server. Nutzen Sie einen zweiten VPS an einem anderen Standort, einen S3-kompatiblen Bucket oder eine Storage Box. Ein kleiner VPS mit großer Festplatte ist ein günstiges Backup-Ziel. Siehe VPS-Tarife.

Restic: Einrichtung

sudo apt install -y restic
export RESTIC_REPOSITORY="sftp:backup@backup.example.com:/srv/restic/myserver"
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init

Erstellen Sie die Passwortdatei mit einem langen Zufallspasswort und bewahren Sie eine Kopie offline auf. Ohne dieses Passwort lassen sich die Backups nicht wiederherstellen.

restic backup /etc /home /var/www --exclude-caches
restic snapshots
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
restic check
Die Schritte dieser Anleitung in der Reihenfolge: 1. Warum restic oder borg statt einfacher Kopien; 2. Wohin Sie Backups senden; 3. Restic: Einrichtung; 4. Datenbanken erfordern Sorgfalt; 5. Zeitplan einrichten; 6. Eine Wiederherstellung testen
Die Schritte dieser Anleitung in der Reihenfolge.

Borg: Einrichtung

sudo apt install -y borgbackup
export BORG_REPO="ssh://backup@backup.example.com/srv/borg/myserver"
borg init --encryption=repokey-blake2
borg create --stats --compression zstd ::'{hostname}-{now:%Y-%m-%d}' /etc /home /var/www
borg prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
borg check

Exportieren und speichern Sie den Repository-Schlüssel mit borg key export.

Datenbanken erfordern Sorgfalt

Kopieren Sie keine laufenden Datenbankdateien. Erstellen Sie zuerst einen Dump und sichern Sie diesen:

mysqldump --single-transaction --all-databases | gzip > /var/backups/db.sql.gz
sudo -u postgres pg_dumpall | gzip > /var/backups/pg.sql.gz

Zeitplan einrichten

Führen Sie das Backup über einen systemd-Timer oder Cron aus. Eine einfache Cron-Zeile:

15 3 * * * root /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Lassen Sie sich bei einem Fehler benachrichtigen, zum Beispiel durch einen Monitoring-Ping am Ende des Skripts.

Eine Wiederherstellung testen

restic restore latest --target /tmp/restore-test --include /etc/nginx
ls /tmp/restore-test

Testen Sie von Zeit zu Zeit eine echte Wiederherstellung auf einem Ersatzrechner. Ein Backup, das Sie nie getestet haben, ist nur eine Hoffnung.