Verwendung von Drush für Backup/Wiederherstellung und Migration einer Drupal-Site

Drush“, oder die „Drupal-Shell“, ist einer der besten Freunde des Drupal-Administrators. Mit den zahlreichen Befehlszeilen-Tools kann sich ein Benutzer bei einem Webserver anmelden und Routineaufgaben wie das Einspielen von Updates, das Blockieren von Benutzern oder sogar das „Bootstrap“ einer brandneuen Drupal-Installation durchführen.

Wie bei jeder Software ist es ratsam, regelmäßig Sicherungskopien zu erstellen. Dies gilt auch im Fall von Drupal, wo Aktualisierungen der Add-in-Module bestimmte Datenbankoperationen durchführen, die nicht leicht rückgängig gemacht werden können. Wenn diese Probleme mit anderen Modulen oder dem Kern von Drupal verursachen, sollten Sie in der Lage sein, auf eine frühere Version „zurückzuspringen“.

Glücklicherweise bietet die Drush-Anwendung ein nützliches „Archiv“-Dienstprogramm sowie einen entsprechenden „Wiederherstellungs“-Befehl.

Sichern Ihrer bestehenden Installation

Der drush-Befehl kommt mit vielen Unterbefehlen, darunter der Befehl drush ard oder „archive dump“. Dieser Befehl führt die folgenden Aktionen aus, wenn er aus einer Drupal-Installation heraus (d.h. von einer beliebigen Stelle innerhalb des Verzeichnisbaums) ausgeführt wird:

  • Zunächst wird eine Kopie der Datenbank(en) für Ihre Website(s) exportiert.
  • Als nächstes wird eine Kopie aller Installationsdateien erstellt
  • Zuletzt wird ein Archiv des Datenbankexports und der Standortdateien im aktuellen Arbeitsverzeichnis erstellt.

So können Sie einen Schnappschuss Ihrer Website mit dem folgenden Befehl erstellen, der im folgenden Beispiel gezeigt wird.

Drush’s drush ard Befehl.

drush ard
Database dump saved to [success] /tmp/drush_tmp_1477498943_5810d83f2ad81/mobius_dev_drupal.sql Archive saved to [ok] /home/path/to/archive-dump/20161026162145/mydrupalsite.20161026_16 2206.tar.gz

Beachten Sie, wie Drush einen Datums-/Zeitstempel in das Archiv einfügt…? Schön, was?

Hinweis

Sie können auch Folgendes verwenden, um den gleichen Befehl wie oben auszuführen

  • Drush-Archiv-Sicherung
  • Drusch-Arb

Standardmäßig verwendet drush einen Dateinamen, der einen Datums-/Zeitstempel enthält, so dass Sie so viele Schnappschüsse der Website behalten können, wie Sie möchten. Die Sicherungsdateien sind im standardmäßigen gzipp’ed tar-Format, so dass Sie ihren Inhalt mit Ihrem bevorzugten Archivierungsprogramm überprüfen können. Einige nützliche Optionen, die Sie zusammen mit dem Befehl drush ard anbieten können, sind folgende:

  • „-Bestimmung“: Mit dieser Option können Sie ein anderes Ziel für die Sicherungsdatei angeben, damit Sie Ihre Drupal-Installation nicht mit Archiven an zufälligen Orten überhäufen. Beachten Sie, dass Sie einen vollständigen Pfad und Dateinamen angeben müssen, z.B. „drush ard –destination /home/user/backups/drupal/drupal_backup.tar.gz“.
  • „–überschreiben“: Wenn Sie versuchen, ein Backup mit dem gleichen Pfad und Dateinamen wie eine bestehende Datei zu erstellen, schlägt der Befehl normalerweise fehl. Mit dieser Option können Sie jedoch die ältere Datei mit einer neuen Version überschreiben. Dies ist nützlich, wenn Sie für eine schnelle Wiederherstellung immer ein aktuelles Backup griffbereit halten wollen.
  • „– keinen Kern“: Dies ermöglicht es Ihnen, die Drupal-Kerninstallation auszuschließen und nur die Daten der von Ihnen erstellten Website(s) zu sichern. Warum wollen Sie das tun? Nun, Sie können immer die neueste Drupal-Version von der Website des Projekts oder per FTP erhalten, so dass Sie keinen Speicherplatz darauf verschwenden müssen. Es könnte auch sein, dass etwas mit Ihrer Kerninstallation passiert ist, und Sie möchten eine saubere Kopie von Drupal selbst und dann Ihre Website darüber hinaus wiederherstellen.

Sobald Sie einen Drush-Ard-Befehl haben, der Ihren Bedürfnissen entspricht, vergessen Sie nicht, ihn in Ihr bevorzugtes Admin-Shell-Skript oder als Teil Ihrer Cron-Jobs einzubinden.

Wiederherstellen Ihrer Website

Für den Fall, dass Ihr alter Server explodiert ist (sorry), haben Sie ein neues Hosting gefunden, einschließlich Webspace und Zugang zu einem Datenbankserver. Jetzt ist es an der Zeit, Ihre Website von einem Ihrer Backups wiederherzustellen. Der drush arr-Befehl erledigt dies für Sie, wenn Sie die folgenden Schritte durchführen:

  1. Kopieren Sie zunächst die Sicherungsdatei, die Sie wiederherstellen möchten, an den Ort, an dem Sie sie wiederherstellen möchten (dies ist normalerweise das Stammverzeichnis Ihres Webservers).
  2. Führen Sie als nächstes den Befehl drush arr ‚/pfad/zu/ NameIhresBackups.tar.gz‘ aus. Dadurch wird der gesamte Verzeichnisbaum Ihrer Drupal-Installation entpackt (vorausgesetzt, Sie haben nicht die Option „–no-core“ verwendet).
  3. Zusätzlich wird im Root Ihrer Drupal-Installation ein Export der Datenbank erfolgen. Sie müssen diese in eine neue Datenbank importieren, um alle Ihre Inhalte, Benutzer usw. wiederherzustellen. Angenommen, Sie verwenden eine MySQL-Datenbank und haben bereits einen Datenbankbenutzer angelegt, dann können Sie eine der folgenden Möglichkeiten für den Import verwenden:
    1. Geben Sie, während Sie als Benutzer mit Zugriff auf die neue Drupal-Datenbank angemeldet sind, den folgenden Befehl vom Terminal aus ein: user@localhost:~$ mysql drupal_db_name < drush_backup_file.sql
    2. Mit phpMySQL können Sie über eine Web-Schnittstelle den Export in eine neue (leere) Datenbank importieren.

      Wiederherstellen der Drupal-Datenbanksicherung mit PHPMyAdmin

  4. Schließlich müssen Sie wahrscheinlich noch einige Anpassungen an Ihrer Datei settings.php vornehmen, darunter
    1. Überprüfen Sie die Berechtigungen auf Ihrer Website – wenn Sie beim Extrahieren der Dateien Ihrer Website einen anderen Benutzernamen haben (und das ist wahrscheinlich der Fall, wenn es sich um einen anderen Hosting-Account handelt), können Sie keine Dateien oder Verzeichnisse ändern, und Sie können Ihre Website möglicherweise nicht einmal ansehen.
    2. Anpassung der URL und/oder des Ports, auf dem Ihre Website(s) leben.
    3. Ändern Sie die URL, den Benutzernamen und das Passwort, unter denen die Datenbank für Ihre Website läuft.

Sobald dies abgeschlossen ist, sollten Sie Ihre Homepage-URL besuchen können und Ihre Website so sehen, wie Sie sie verlassen haben…? nur, so hoffen wir, auf einem stabileren Host.

Das könnte Dich auch interessieren …