Regelmäßige Backups sind der wichtigste Schutz vor Datenverlust, fehlerhaften Updates, versehentlichem Löschen oder einem erfolgreichen Angriff. Bei unserem KVM-VPS-Dienst erstellen wir täglich ein Backup der gesamten virtuellen Maschine, und Sie können jederzeit einen Snapshot erstellen. Diese dienen der vollständigen Wiederherstellung des Servers; für die schnelle Wiederherstellung einzelner Dateien oder Datenbanken sowie für an mehreren Orten gespeicherte Kopien empfiehlt es sich, eine eigene Sicherung einzurichten.
Die 3-2-1-Regel
Eine gute Sicherungsstrategie sieht vor, dass die Daten in mindestens drei Kopien an zwei verschiedenen Orten oder auf zwei verschiedenen Datenträgern gespeichert werden, wobei sich eine davon physisch vom Server entfernt befinden sollte. Bewahren Sie Ihre eigene Sicherung daher nicht ausschließlich auf dem VPS selbst auf: Ein Festplattenausfall, ein gehackter Server oder ein versehentliches „rm -rf“ kann auch die lokal gespeicherte Sicherung zerstören.
Was sollten Sie sichern?
- Datenbanken: Diese lassen sich nicht zuverlässig durch einfaches Kopieren der Dateien vom laufenden Server sichern; exportieren Sie sie daher.
- Dateien von Websites und Anwendungen: beispielsweise das Verzeichnis
/var/www, hochgeladene Bilder und Dokumente. - Konfiguration: das Verzeichnis
/etc(Einstellungen für Webserver, PHP, Firewall und Cron), sodass Sie die Umgebung auf einem neuen Server schnell wiederherstellen können.
Datenbanksicherung
Sichern einer MySQL- oder MariaDB-Datenbank in eine komprimierte Datei:
mysqldump --single-transaction --routines --all-databases | gzip > /root/backup/db-$(date +%F).sql.gz
Bei PostgreSQL ist der Befehl „pg_dump“ (für eine Datenbank) oder „pg_dumpall“ (für alle Datenbanken) geeignet.
Dateisicherung und Remote-Speicherung
- rsync: Kopiert geänderte Dateien auf einfache Weise auf einen anderen Server; siehe den Artikel zur Verwendung von rsync und scp.
- restic oder BorgBackup: Sie erstellen verschlüsselte, deduplizierte Backups, bewahren mehrere Versionen auf und können diese in einen S3-kompatiblen Objektspeicher oder auf einen anderen Server sichern.
- tar: für einmalige Archive; siehe den Artikel „Erstellen eines tar.gz-Archivs“.
Die allgemeinen Methoden zur Sicherung und Wiederherstellung unter Linux werden in einem separaten Artikel zusammengefasst.
Automatisierung
Planen Sie die Sicherung mit einem Cron-Job, damit Sie nicht daran denken müssen. Beispielsweise ein Sicherungsskript, das jede Nacht um 2 Uhr ausgeführt wird:
0 2 * * * /root/bin/mentes.sh >> /var/log/mentes.log 2>&1
Die Syntax von crontab wird in einem separaten Artikel behandelt. Richten Sie bitte auch Benachrichtigungen über fehlgeschlagene Backups ein und löschen Sie alte Backups automatisch, damit der Speicherplatz nicht überfüllt wird.
Testen Sie die Wiederherstellung
Ein Backup ist nur dann von Nutzen, wenn sich daraus auch eine Wiederherstellung durchführen lässt. Führen Sie von Zeit zu Zeit eine Wiederherstellung einer Datenbank oder eines Ordners in einer Testumgebung durch und überprüfen Sie, ob alle Daten vorhanden sind.
Wenn Sie sich lieber auf Ihr eigenes Projekt konzentrieren möchten, anstatt sich um Backups und die Serverwartung zu kümmern, übernehmen wir dies im Rahmen unseres Managed VPS-Dienstes für Sie.