BefehlBeschreibungPlattform
tarArchiviert Dateien und Verzeichnisse zu einer einzelnen Datei und kann diese auch komprimieren.Alle Linux-Distributionen
rsyncSynchronisiert Dateien und Verzeichnisse lokal oder über das Netzwerk, effizient durch Delta-Übertragung.Alle Linux-Distributionen
ddKopiert und konvertiert Dateien auf Blockebene; häufig für das Erstellen von Festplattenabbildern verwendet.Alle Linux-Distributionen
cpioKopiert Dateien in oder aus Archiven; wird oft mit find oder ls kombiniert.Alle Linux-Distributionen
gzip / gunzipKomprimiert und dekomprimiert Dateien mit dem gzip-Algorithmus.Alle Linux-Distributionen
bzip2 / bunzip2Komprimiert und dekomprimiert Dateien mit dem bzip2-Algorithmus (bessere Kompression als gzip).Alle Linux-Distributionen
zip / unzipKomprimiert und dekomprimiert Dateien im ZIP-Format; kompatibel mit Windows-ZIP-Dateien.Alle Linux-Distributionen
scpSicherer Dateiübertragungsbefehl über SSH; kann für das Kopieren von Backups über das Netzwerk verwendet werden.Alle Linux-Distributionen
sftpSicheres FTP über SSH; kann für interaktive Dateiübertragungen genutzt werden.Alle Linux-Distributionen
mysqldumpErstellt ein Backup einer MySQL/MariaDB-Datenbank in eine Textdatei mit SQL-Befehlen zum Wiederherstellen.Benötigt MySQL/MariaDB
pg_dumpErstellt ein Backup einer PostgreSQL-Datenbank.Benötigt PostgreSQL
lvmLogical Volume Manager Befehle wie lvcreate, lvsnapshot für Snapshots von logischen Volumes.Alle Linux-Distributionen mit LVM-Unterstützung
dumpErstellt Backups von Dateisystemen auf Blockebene (hauptsächlich für ext2/3/4).Alle Linux-Distributionen
restoreStellt Dateien von Backups wieder her, die mit dump erstellt wurden.Alle Linux-Distributionen
cpKopiert Dateien und Verzeichnisse; kann für einfache Backups verwendet werden.Alle Linux-Distributionen
cp -aKopiert Dateien und Verzeichnisse und behält alle Attribute bei; nützlich für Backups.Alle Linux-Distributionen
cron / crontabPlanung von wiederkehrenden Aufgaben; kann zum Automatisieren von Backups verwendet werden.Alle Linux-Distributionen
rsnapshotSkriptbasiertes Tool für Backups mit rsync und Hardlinks für inkrementelle Backups.Installation erforderlich
rdiff-backupFührt inkrementelle Backups durch; kombiniert die Vorteile von rsync und Revisionskontrolle.Installation erforderlich
borgDeduplizierendes Backup-Tool mit Verschlüsselungsunterstützung.Installation erforderlich
duplicityVerschlüsselte inkrementelle Backups mit Unterstützung für verschiedene Speicherziele (lokal, FTP, SSH, Cloud-Dienste).Installation erforderlich
timeshiftTool zur Systemsicherung und -wiederherstellung ähnlich wie „Systemwiederherstellung“ unter Windows.Hauptsächlich Ubuntu/Debian-basierte Systeme
fsarchiverFlexibles Tool zum Sichern von Dateisystemen in eine komprimierte Archivdatei.Installation erforderlich
partcloneTool zum Klonen von Partitionen und Dateisystemen; unterstützt viele Dateisystemtypen.Installation erforderlich
testdiskDatenwiederherstellungstool zum Wiederherstellen verlorener Partitionen und Dateien.Installation erforderlich

Hinweise:

  • Plattform: Die meisten Befehle sind auf allen gängigen Linux-Distributionen verfügbar. Einige spezialisierte Tools müssen eventuell installiert werden.
  • Installation von Paketen:
    • Ubuntu/Debian: sudo apt-get install paketname
    • RHEL/CentOS/Fedora: sudo yum install paketname oder sudo dnf install paketname

Beispiele

  1. Erstellen eines komprimierten Archivs mit tar:
    tar -czvf backup.tar.gz /pfad/zum/verzeichnis
    # -c erstellt ein neues Archiv
    # -z komprimiert mit gzip
    # -v zeigt den Fortschritt an
    # -f spezifiziert den Dateinamen des Archivs
  1. Wiederherstellen eines Archivs mit tar:
    tar -xzvf backup.tar.gz -C /ziel/pfad
    # -x extrahiert das Archiv
    # -C gibt das Zielverzeichnis an
  1. Synchronisieren von Dateien mit rsync:
    rsync -avz /quelle/ user@remote_host:/ziel/
    # -a Archivmodus (beinhaltet rekursiv, Berechtigungen, Zeiten)
    # -v verbose, zeigt detaillierte Informationen
    # -z komprimiert während der Übertragung
  1. Erstellen eines Festplattenabbilds mit dd:
    dd if=/dev/sdX of=/pfad/zum/backup.img bs=4M status=progress
    # if=input file (Quellgerät)
    # of=output file (Zieldatei)
    # bs=Blockgröße
    # status=progress zeigt Fortschritt an
  1. Automatisiertes Backup mit cron:
    crontab -e
    # Füge folgende Zeile hinzu, um täglich um 2 Uhr ein Backup zu erstellen
    0 2 * * * /usr/bin/rsync -a /quelle/ /ziel/
  1. Datenbanksicherung mit mysqldump:
    mysqldump -u benutzername -p datenbankname > datenbank_backup.sql
  1. Datenbanksicherung mit pg_dump:
    pg_dump -U benutzername datenbankname > datenbank_backup.sql
  1. Verwendung von lvm für Snapshots:
    lvcreate –size 1G –snapshot –name snapshot_name /dev/vgname/lvname
  1. Inkrementelle Backups mit rsnapshot:
    • Installation:
      sudo apt-get install rsnapshot  # Ubuntu/Debian
      sudo yum install rsnapshot      # RHEL/CentOS
  • Konfiguration: Bearbeiten Sie /etc/rsnapshot.conf entsprechend Ihren Anforderungen.
  • Ausführen eines Backups:
    sudo rsnapshot daily
  1. Backups mit borg:
    • Installation:
      sudo apt-get install borgbackup  # Ubuntu/Debian
      sudo yum install borgbackup      # RHEL/CentOS
  • Erstellen eines Repositories:
    borg init –encryption=repokey /pfad/zu/repository
  • Erstellen eines Backups:
    borg create /pfad/zu/repository::backup-{now:%Y-%m-%d} /daten/quelle

Zusätzliche Empfehlungen:

  • Überprüfung von Backups: Stellen Sie sicher, dass Backups regelmäßig getestet werden, um die Wiederherstellbarkeit zu gewährleisten.
  • Sicherheit: Schützen Sie Ihre Backups durch Verschlüsselung, insbesondere wenn sie außerhalb des Standorts oder in der Cloud gespeichert werden.
  • Backup-Strategie: Implementieren Sie die 3-2-1-Backup-Regel:
    • 3 Kopien Ihrer Daten
    • 2 verschiedene Speichermedien
    • 1 Kopie off-site (außerhalb des Standorts)
  • Dokumentation: Halten Sie eine detaillierte Dokumentation Ihrer Backup- und Wiederherstellungsprozesse bereit.

Wichtige Verzeichnisse für Backups unter Linux:

  • /etc: Konfigurationsdateien
  • /home: Benutzerdateien und -einstellungen
  • /var/www: Webserver-Dateien (wenn ein Webserver verwendet wird)
  • Datenbankverzeichnisse (abhängig von der Datenbank)
  • Individuelle Anwendungsdaten