Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Backups mit restic an einen anderen Ort

Im kurzen Video ansehen

Ein Backup mit restic erstellen und wiederherstellen 1:10

Das tägliche Backup von WebOké (siehe Backups von WebOké wiederherstellen) stellt immer Ihren gesamten VPS wieder her und liegt beim selben Anbieter. Mit restic erstellen Sie zusätzlich Ihr eigenes Backup: verschlüsselt, an einem anderen Ort, und Sie können daraus einzelne Dateien wiederherstellen.

Was benötigen Sie?

  • Einen Ort außerhalb Ihres VPS, auf den Sie per SFTP zugreifen können, zum Beispiel einen Speicherdienst oder einen zweiten Server. In den Beispielen ist das backup.example.net mit dem Benutzer backup.
  • Ein starkes Passwort für das Backup. Verlieren Sie es, ist Ihr Backup unbrauchbar. Bewahren Sie es auch außerhalb des Servers auf, in Ihrem Passwortmanager.

Installieren und vorbereiten

Das Backup läuft als root, damit es alles lesen kann.

anna@web1:~$ sudo apt install restic
anna@web1:~$ sudo -i
root@web1:~# ssh-keygen -t ed25519 -C "restic web1" -N "" -f /root/.ssh/id_backup
root@web1:~# ssh-copy-id -i /root/.ssh/id_backup.pub backup@backup.example.net
root@web1:~# install -m 600 /dev/null /root/.restic-wachtwoord
root@web1:~# nano /root/.restic-wachtwoord

Legen Sie in /root/.ssh/config fest, dass root diesen Schlüssel für den Backup-Server verwendet:

Host backup.example.net
    User backup
    IdentityFile /root/.ssh/id_backup

Erstellen Sie dann das Repository (den Ort, an dem restic alles speichert):

root@web1:~# export RESTIC_REPOSITORY=sftp:backup@backup.example.net:/restic/web1
root@web1:~# export RESTIC_PASSWORD_FILE=/root/.restic-wachtwoord
root@web1:~# restic init
created restic repository 3c9a1e5b2d at sftp:backup@backup.example.net:/restic/web1

Das Backup-Skript

Speichern Sie dies in /usr/local/sbin/backup.sh und machen Sie es mit chmod 700 /usr/local/sbin/backup.sh ausführbar:

#!/bin/sh
export RESTIC_REPOSITORY=sftp:backup@backup.example.net:/restic/web1
export RESTIC_PASSWORD_FILE=/root/.restic-wachtwoord

# 1. Databases dumpen (zie 8.2)
/usr/local/sbin/voor-backup.sh || exit 1

# 2. Apps met SQLite even stilzetten, back-up maken, weer starten
cd /srv/diensten
docker compose stop vaultwarden uptime-kuma n8n
restic backup /etc /home /root /srv /var/backups/db /var/lib/docker/volumes   --exclude /var/lib/docker/volumes/diensten_wp-db
RESULTAAT=$?
docker compose start vaultwarden uptime-kuma n8n
[ "$RESULTAAT" -eq 0 ] || exit 1

# 3. Oude back-ups opruimen
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune || exit 1

Nennen Sie bei stop und start nur die Apps, die Sie tatsächlich haben; warum sie kurz angehalten werden müssen, steht in Datenbanken und Docker-Volumes richtig sichern. Was in voor-backup.sh steht, lesen Sie dort ebenfalls. Die Apps starten immer wieder, auch wenn das Backup fehlschlägt. Mit forget und --prune behalten Sie 7 tägliche, 4 wöchentliche und 6 monatliche Backups; der Rest wird aufgeräumt.

Jede Nacht automatisch

Erstellen Sie /etc/systemd/system/backup.service:

[Unit]
Description=restic back-up

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/backup.sh

und /etc/systemd/system/backup.timer:

[Unit]
Description=restic back-up elke nacht

[Timer]
OnCalendar=*-*-* 03:15
Persistent=true

[Install]
WantedBy=timers.target
root@web1:~# systemctl daemon-reload
root@web1:~# systemctl enable --now backup.timer
root@web1:~# systemctl start backup.service
root@web1:~# journalctl -u backup.service -e

Prüfen und wiederherstellen

root@web1:~# restic snapshots
root@web1:~# restic check
root@web1:~# restic restore latest --target /tmp/terug --include /srv/diensten/vw-data

Stellen Sie in einen separaten Ordner wie /tmp/terug wieder her und kopieren Sie danach, was Sie benötigen. Üben Sie das einmal pro Quartal: Ein Backup, das Sie nie wiederhergestellt haben, ist eine Hoffnung, kein Backup.

Tipp: Lassen Sie sich warnen, wenn das Backup nicht läuft. Erstellen Sie in Uptime Kuma einen Push-Monitor (siehe Uptime Kuma: Ihre Websites und Ihren Server überwachen) und fügen Sie unten in backup.sh diese zwei Zeilen ein. Bleibt das Signal aus, erhalten Sie eine Benachrichtigung.

sleep 30
curl -fsS -m 10 "https://status.example.com/api/push/JOUWCODE?status=up&msg=OK" >/dev/null

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…