How to Backup Drupal? Overview of the Backup and Migrate Module

Wie sichert man Drupal? Überblick über das Backup and Migrate-Modul

Beim Erstellen von Websites müssen Sie oft schnell Daten sichern, die nicht in Ihrem Code-Repository sind. Im Fall von Drupal ist es möglich, Kopien über das Modul "Backup and Migrate" zu erstellen.

Dieses Modul bietet Optionen sowohl für Anfänger als auch für fortgeschrittene Benutzer. In diesem Artikel werde ich seine Funktionen im Detail vorstellen.

Daten

Das Modul wurde Ende 2007 für Drupal 5 veröffentlicht. Seitdem wurde es umfangreich aktualisiert. Der 8.x-3.x-Zweig erschien im Jahr 2015 zusammen mit Drupal 8, hatte jedoch keine stabile Version. Es dauerte weitere drei Jahre, bis die stabile Version 8.x-4.0 das Licht der Welt erblickte.

Beliebtheit des Moduls

Die Beliebtheit des Moduls wird durch die Anzahl der Installationen bestätigt - laut den offiziellen Statistiken wird es von über 220 Tausend Seiten verwendet, darunter ca. 40 Tausend basierend auf Drupal 8.

backup-migrate-stats

Die Ersteller des Moduls

Vier Entwickler sind für die Wartung des Moduls verantwortlich:

Es gibt 822 Commits im Code-Repository, erstellt von über 70 Personen.

Wozu wird das Modul verwendet?

Backup and Migrate ist ein fortschrittliches Tool zur Erstellung von Sicherungskopien. Es operiert auf der Datenbank sowie auf öffentlichen und privaten Dateien. Es integriert sich mit Drupal CRON und ermöglicht somit regelmäßige Backups an verschiedene Ziele.

Unboxing

Das Modul ist verfügbar unter https://www.drupal.org/project/backup_migrate. Es kann von einer .zip-Datei installiert oder der Befehl composer require drupal/backup_migrate in der Konsole ausgeführt werden.

Das Einstellungen-Administrationspanel finden Sie im Menü Konfiguration → Entwicklung → Backup and Migrate.

Verwendung des Moduls

Das Modul ist sowohl für Anfänger als auch für fortgeschrittene Benutzer konzipiert. Erstere müssen sich nicht mit der Konfiguration des Datenexports auseinandersetzen, sie müssen nur die Schnellsicherungsoption verwenden:

backup-migrate-quick

Ein Klick auf "Jetzt sichern" lädt die Datenbank herunter (oder öffentliche/private Dateien, wie im Feld "Sicherungsquelle" ausgewählt). Darüber hinaus wird die Dateisicherung ohne Cache- und Protokolleinträge erfolgen, sodass sie viel weniger Speicherplatz beansprucht.

Im Tab "Erweitert" stehen einige weitere Einstellungen zur Verfügung. Ich werde diese später im Artikel beschreiben.

Sicherungsquellen

Durch Klicken auf Einstellungen → Quellen gelangen Sie zur Liste der verfügbaren Sicherungsquellen.

backup-migrate-sources

Standardmäßig können die Quellen sein:

  • Datenbanken,
  • öffentliche Dateien,
  • private Dateien,
  • ganzer Seiten-Code samt Datenbank.

Dieses Set kann leicht mit externen MySQL-Datenbanken und beliebigen Verzeichnissen auf dem Server erweitert werden. Dies kann mit der Option "Sicherungsquelle hinzufügen" erfolgen.

Es ist möglich, eigene Quellen über die API des Moduls "Backup and Migrate" zu definieren.

Sicherungsziele

Ein Sicherungsziel ist der Ort, an dem es gespeichert werden soll. Dies kann beispielsweise ein Serververzeichnis oder ein Webbrowser sein. Die verfügbaren Ziele sind in Einstellungen → Ziele aufgelistet.

backup-migrate-destinations

Wie bei den Quellen können Sie Ihre eigenen Ziele über den Button "Sicherungsziel hinzufügen" und einen entsprechenden Hook definieren. Am Ende des Artikels präsentiere ich einige Module zum Hinzufügen von Zielen wie SFTP-Server und S3-Cloud.

Verschlüsselung

Denken Sie daran, dass Backups sensible Daten enthalten und der Zugang zu ihnen strikt begrenzt sein sollte. Drupal ist eines der sichersten CMS, daher lohnt es sich, das private Dateisystem zu nutzen. Darüber hinaus kommt die Möglichkeit, Dateien mit Backups zu verschlüsseln, gelegen. Um es zu verwenden, fügen Sie die Defuse-Bibliothek mit dem Befehl zum Projekt hinzu:

composer require defuse/php-encryption

Nach dem Löschen des Caches erscheint die Option "Datei verschlüsseln" im Konfigurationspanel des Moduls mit dem Feld zur Eingabe eines Passworts. Es wird verwendet, um die erzeugten Archive zu verschlüsseln.

Erweiterte Sicherung

Ich habe bereits behandelt, wie eine schnelle Sicherung erstellt wird. Es ist Zeit für ihre etwas fortgeschrittenere Version, die Sie im Tab "Sicherung" → "Erweiterte Sicherung" finden.

Hier ein kurzer Überblick über die verfügbaren Optionen:

  • Quelle - zum Auswählen einer vordefinierten Quelle.
  • Sicherungsdatei - ermöglicht die Konfiguration des Namens und Formats der Sicherungsdatei.
  • Sicherung Verschlüsselung - ermöglicht die Verschlüsselung des Archivs.
  • Website offline nehmen - schaltet die Website während der Erstellung ihrer Sicherung aus.
  • Datenbanktabellen ausschließen - ermöglicht es, ausgewählte Tabellen in der Datenbank (oder nur deren Inhalte) von der Sicherung auszuschließen.
  • Dateien ausschließen - zum Ausschließen ausgewählter Dateien bei der Erstellung einer Verzeichniskopie.
  • Ziel - ermöglicht die Auswahl des Sicherungsziels.

Wenn Sie ein solches Set erweiterter Optionen für die Zukunft speichern möchten, werfen Sie einen Blick auf die Profile im Tab "Einstellungen" → "Einstellungsprofile".

Sicherungsliste

Alle Sicherungen auf dem Server sind in der Liste "Gespeicherte Sicherungen" aufgeführt.

list

Interessanterweise funktioniert diese Liste auch beim Speichern von Sicherungen auf SFTP- und S3-Servern.

Sicherungswiederherstellung

Weniger häufig benötigt, aber dennoch eine äußerst interessante Option ist die Wiederherstellung der Website aus einem Backup. Zu diesem Zweck können Sie entweder eine der oben präsentierten Kopien oder eine beliebige Datei über das Formular hochladen.

Planung

Die letzte wichtige Funktionalität des Backup and Migrate Moduls ist die Möglichkeit, Sicherungspläne zu erstellen.

backup-migrate-schedule

Hier haben Sie alles, was Sie brauchen, um einen effizienten Sicherungsmechanismus zu erstellen. Diese Aktionen werden mit den Drupal-CRON-Funktionalitäten ausgeführt. Daher ist keine zusätzliche Serverkonfiguration erforderlich.

Hooks und Integrationen

Backup and Migrate bietet einen grundlegenden Hook hook_backup_migrate_service_object_alter(), mit dem praktisch der gesamte Motor des Moduls geändert werden kann. Hier werden zusätzliche Plugins und Filter definiert. Sie können die folgenden Elemente definieren:

  • Sicherungsquellen - standardmäßig sind dies die Datenbank, öffentliche/private Dateien und die gesamte Website samt Quellcode.
  • Sicherungsziele - wie Cloud-Speicher oder lokaler Verzeichnisspeicher.
  • Filter, die die erzeugten Archive modifizieren - z. B. Verschlüsselung.

Auf der Basis des oben genannten Mechanismus wurden viele Hilfsmodule erstellt, die die Integration mit externen Anbietern von Speicherplatz bieten. Leider laufen die meisten von ihnen nur unter Drupal 7. Dazu gehören:

Zusammenfassung

Angesichts neuer Technologien wird das Modul Backup and Migrate manchmal als überflüssig angesehen. Wir verwenden es jedoch in unserer Drupal-Agentur, da es den einfachsten Weg bietet, eine Datenbank und Dateien von einer Drupal-basierten Website herunterzuladen. Es ist einfach einzurichten und funktioniert nahezu sofort.

Im Fall kleinerer Websites kann das Modul nützlich sein als Ergänzung zu einem Standard-Backup. Besonders wenn der Code auf einem gemeinsam genutzten Server liegt, bei dem Sie keinen vollständigen Zugriff auf das System haben.

As part of Drupal support, we maintain existing websites and expand them with new functionalities