Wie können Daten auf einem Linux-System gesichert und wiederhergestellt werden?

Linux 3 Min. Lesezeit

Unter Linux gibt es keinen einzigen „Sichern“-Button: Je nach Art der Daten ist ein anderes Tool das richtige. Dateien müssen kopiert oder archiviert werden, Datenbanken müssen mit ihrem eigenen Sicherungsprogramm exportiert werden, und vom gesamten System kann ein Snapshot erstellt werden. Im Folgenden stellen wir die gängigsten Methoden sowie deren Wiederherstellung vor. Über die Sicherungsstrategie (was, wohin und wie oft) erfahren Sie in unserem Artikel zur VPS-Sicherung.

1. Kopieren von Dateien mit rsync

rsync kopiert nur geänderte Dateien und eignet sich daher ideal für regelmäßige Backups. Es behält Berechtigungen, Eigentümer und Datumsangaben bei und kann über SSH auch auf einen anderen Rechner kopieren:

# Helyi mentés egy másik lemezre
rsync -a /var/www/ /mnt/mentes/www/

# Mentés egy távoli szerverre SSH-n keresztül
rsync -az /var/www/ mentes@backup.example.com:/mentesek/www/

Bei der Wiederherstellung tauschen Quelle und Ziel ihre Positionen:

rsync -a mentes@backup.example.com:/mentesek/www/ /var/www/

Achten Sie auf den Schrägstrich am Ende des Pfades: „/var/www/“ kopiert den Inhalt des Verzeichnisses, „/var/www“ kopiert das Verzeichnis selbst. Einzelheiten hierzu finden Sie im Artikel über das Kopieren von Dateien zwischen Servern.

2. Archivierung mit tar

Wenn Sie den vollständigen Status zu einem bestimmten Zeitpunkt in einer einzigen Datei speichern möchten, erstellen Sie bitte ein komprimiertes Archiv:

# Mentés
tar -czf /mentes/www-$(date +%F).tar.gz -C /var www

# Visszaállítás
tar -xzf /mentes/www-2026-10-26.tar.gz -C /var

Das Datum im Dateinamen hilft dabei, mehrere Sicherungen voneinander zu unterscheiden. Weitere Informationen: Erstellen und Entpacken von tar.gz-Archiven.

3. Datensätze sichern

Das Kopieren der Dateien einer laufenden Datenbank stellt keine zuverlässige Sicherung dar, da sich diese während des Kopiervorgangs ändern. Verwenden Sie das eigene Tool des Datenbankmanagers:

# MariaDB mentés (MySQL-en: mysqldump)
mariadb-dump --single-transaction --routines adatbazis | gzip > adatbazis.sql.gz

# Visszaállítás (MySQL-en: mysql)
gunzip < adatbazis.sql.gz | mariadb adatbazis

# PostgreSQL mentés és visszaállítás
pg_dump -Fc adatbazis > adatbazis.dump
pg_restore -d adatbazis adatbazis.dump

Der Schalter „--single-transaction“ speichert bei InnoDB-Tabellen einen konsistenten Zustand ohne Sperren. In neueren MariaDB-Versionen lautet der Befehl „mariadb-dump“; der alte Name „mysqldump“ funktioniert zwar vorerst noch, wird von MariaDB jedoch als veraltet gekennzeichnet; im Test gab MariaDB 11.8 bei jedem Durchlauf folgende Meldung aus: „mysqldump: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb-dump' instead“. Die oben beschriebene Sicherung und Wiederherstellung lief auf einer Testdatenbank (AlmaLinux 9, MariaDB 11.8) fehlerfrei ab; in der wiederhergestellten Tabelle waren alle Zeilen vorhanden. Über die Installation von MariaDB wird im Artikel „Installation des MariaDB-Datenbankservers“ berichtet.

4. Snapshot

Ein Snapshot erfasst den Zustand der gesamten Festplatte zu einem bestimmten Zeitpunkt, sodass nach einem fehlerhaften Update das gesamte System schnell wiederhergestellt werden kann. Unter Linux kann auch LVM Snapshots erstellen, bei virtuellen Servern ist dies zudem über die Virtualisierungsschicht möglich (siehe: Was ist ein Snapshot?). Der Snapshot befindet sich in der Regel auf demselben Speichermedium wie die Originaldaten und ersetzt daher keine an einem anderen Ort erstellte Sicherung.

5. Automatisierung

Manuelle Backups werden früher oder später vernachlässigt. Fassen Sie die oben genannten Befehle in einem Skript zusammen und führen Sie dieses regelmäßig als Cron-Job aus. Bei größeren Datenmengen empfiehlt es sich, ein speziell für Backups entwickeltes Tool zu verwenden (beispielsweise „restic“ oder „BorgBackup“), das die Daten verschlüsselt, nur die Änderungen speichert und auch alte Backups verwaltet.

Überprüfen Sie die Wiederherstellung

Ein Backup ist nur dann von Nutzen, wenn es auch wiederhergestellt werden kann. Führen Sie von Zeit zu Zeit eine Wiederherstellung aus einem Backup in ein Testverzeichnis oder eine Testdatenbank durch und überprüfen Sie, ob die Dateien vollständig sind und die Datenbank geladen werden kann. Bei Archiven listet der Befehl „tar -tzf mentes.tar.gz“ den Inhalt ohne Entpacken auf, während „gzip -t“ die Integrität der komprimierten Datei überprüft.

Wenn Sie sich nicht um Backups und die Serverwartung kümmern möchten, übernehmen dies im Rahmen des Managed VPS-Dienstes unsere Systemadministratoren.

Zurück: Linux-Artikel (62)