Regelmäßige Backups sind für jeden Magento-Shop unerlässlich. In dieser Anleitung erfahren Sie, wie Sie vollständige Backups erstellen und wiederherstellen.

Was sollten Sie sichern?

Ein vollständiges Magento-Backup besteht aus:

  • Datenbank: Alle Produkte, Bestellungen, Kunden, Konfiguration
  • Medien: Bilder und Uploads (pub/media/)
  • Code: Angepasster Code und Erweiterungen (app/code/)
  • Konfiguration: app/etc/env.php und app/etc/config.php
  • Thema: Angepasste Theme-Dateien (app/design/)

Datenbank-Backup erstellen

Über phpMyAdmin

  1. Melden Sie sich bei DirectAdmin an
  2. Gehen Sie zu phpMyAdmin
  3. Wählen Sie Ihre Magento-Datenbank
  4. Klicken Sie auf Exportieren
  5. Wählen Sie Schnell für den Standard-Export
  6. Klicken Sie auf OK und laden Sie die SQL-Datei herunter

Über die Befehlszeile

# Navigieren Sie zum Magento-Stammverzeichnis
cd /pfad/zu/magento

# Erstellen Sie ein Datenbank-Backup mit Zeitstempel
mysqldump -u benutzer -p datenbank_name > backup_$(date +%Y%m%d).sql

# Oder mit Magento CLI
bin/magento db:dump

Die CLI-Methode speichert das Backup in var/backups/.

Komprimiertes Backup

Für große Datenbanken:

mysqldump -u benutzer -p datenbank_name | gzip > backup_$(date +%Y%m%d).sql.gz

Dateien-Backup erstellen

Über den Dateimanager

  1. Gehen Sie zum Dateimanager in DirectAdmin
  2. Navigieren Sie zu Ihrer Magento-Installation
  3. Wählen Sie die wichtigen Ordner:
    • pub/media/ (Bilder)
    • app/code/ (benutzerdefinierte Module)
    • app/design/ (Themes)
    • app/etc/ (Konfiguration)
  4. Klicken Sie auf Komprimieren, um eine ZIP-Datei zu erstellen
  5. Laden Sie die ZIP-Datei herunter

Über die Befehlszeile

# Navigieren Sie über das Magento-Stammverzeichnis
cd /pfad/zu/

# Erstellen Sie ein vollständiges Backup
tar -czvf magento_backup_$(date +%Y%m%d).tar.gz magento/

# Oder nur bestimmte Ordner
tar -czvf media_backup_$(date +%Y%m%d).tar.gz magento/pub/media/

Über FTP

  1. Verbinden Sie sich mit einem FTP-Client (FileZilla)
  2. Laden Sie den gesamten Magento-Ordner herunter
  3. Oder laden Sie nur kritische Ordner herunter

Magento-Support-Backup

Magento verfügt über eine integrierte Backup-Funktionalität:

Backup über Admin

  1. Gehen Sie zu System > Backup
  2. Wählen Sie den Backup-Typ:
    • System-Backup: Nur Dateien
    • Datenbank-Backup: Nur Datenbank
    • Datenbank- und Medien-Backup: Beide (empfohlen)
  3. Klicken Sie auf die gewünschte Backup-Schaltfläche
  4. Warten Sie, bis das Backup abgeschlossen ist

Hinweis: Diese Methode kann bei großen Shops zu einem Timeout führen. Verwenden Sie dann die Befehlszeile.

Backup über CLI

# Nur Datenbank
bin/magento support:backup:db

# Datenbank und Code
bin/magento support:backup:code --with-database

# Alle Support-Backup-Optionen
bin/magento support:backup:code --include-media --with-database

Backup wiederherstellen

Datenbank-Wiederherstellung über phpMyAdmin

  1. Gehen Sie zu phpMyAdmin
  2. Wählen Sie Ihre Datenbank (oder erstellen Sie eine neue)
  3. Klicken Sie auf Importieren
  4. Wählen Sie Ihre SQL-Backup-Datei
  5. Klicken Sie auf OK

Datenbank-Wiederherstellung über die Befehlszeile

# Bei Bedarf dekomprimieren
gunzip backup.sql.gz

# Datenbank importieren
mysql -u benutzer -p datenbank_name < backup.sql

Dateien wiederherstellen

  1. Laden Sie das Backup auf den Server hoch (über FTP oder Dateimanager)
  2. Entpacken Sie das Archiv am richtigen Ort
  3. Überprüfen Sie die Dateiberechtigungen
# Entpacken
tar -xzvf magento_backup.tar.gz

# Berechtigungen wiederherstellen
find var generated pub/static pub/media -type d -exec chmod 755 {} \;
find var generated pub/static pub/media -type f -exec chmod 644 {} \;

Nach der Wiederherstellung

# Cache leeren
bin/magento cache:clean
bin/magento cache:flush

# Indizes neu erstellen
bin/magento indexer:reindex

# DI kompilieren
bin/magento setup:di:compile

# Statische Inhalte bereitstellen
bin/magento setup:static-content:deploy de_DE

Automatische Backups

Über Cronjob

Richten Sie einen Cronjob für automatische Backups ein:

# Tägliches Datenbank-Backup um 3:00 Uhr
0 3 * * * /usr/bin/mysqldump -u user -p'pass' datenbank | gzip > /backups/db_$(date +\%Y\%m\%d).sql.gz

# Wöchentliches vollständiges Backup am Sonntag um 4:00 Uhr
0 4* * 0 tar -czvf /backups/full_$(date +\%Y\%m\%d).tar.gz /pfad/zu/magento

Backup-Rotation

Alte Backups automatisch löschen:

# Löschen Sie Backups, die älter als 30 Tage sind
find /backups/ -name*.gz" -mtime +30 -delete

Externe Backup-Speicherung

Speichern Sie Backups außerhalb des Servers:

  • Cloud-Speicher (AWS S3, Google Cloud, Dropbox)
  • Externer FTP-Server
  • Lokaler Download auf den Computer

Best Practices

  1. Tägliche Datenbank-Backups: Automatisieren Sie mit Cronjobs
  2. Wöchentliche vollständige Backups: Einschließlich Dateien
  3. Testen Sie Ihre Backups: Stellen Sie regelmäßig in einer Testumgebung wieder her
  4. Externe Speicherung: Bewahren Sie Kopien außerhalb des Servers auf
  5. Dokumentation: Notieren Sie, wo sich die Backups befinden
  6. Verschlüsselung: Verschlüsseln Sie sensible Backups
  7. Aufbewahrung: Bewahren Sie mindestens 30 Tage Historie auf

Verwandte Artikel

Brauchen Sie Hilfe?

Wir sind für Sie da! Haben Sie Fragen oder benötigen Sie Unterstützung? Unser Support-Team hilft Ihnen gerne persönlich weiter. Senden Sie uns eine Nachricht über das Ticketsystem - wir antworten in der Regel innerhalb weniger Stunden und denken gerne mit Ihnen mit.