„Drush“, oder „Drupal Shell“, ist einer der besten Freunde des Drupal-Administrators. Seine vielen Befehlszeilen-Tools ermöglichen es einem Benutzer, sich bei einem Webserver anzumelden und Routineaufgaben wie das Anwenden von Updates, das Blockieren von Benutzern oder sogar das "Bootstrap" einer brandneuen Drupal-Installation durchzuführen.
Wie bei jeder Software ist es ratsam, regelmäßige Backups zu erstellen. Dies gilt auch für Drupal, wo Updates der Add-in-Module bestimmte Datenbankoperationen ausführen, die nicht einfach 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, zu einer früheren Version zurückzukehren.
Glücklicherweise bietet die Drush-Anwendung ein nützliches "Archiv"-Hilfsprogramm sowie einen entsprechenden "Wiederherstellungs"-Befehl.
Sichern Ihrer bestehenden Installation
Der Befehl drush enthält viele Unterbefehle, darunter den Befehl drush ard oder "archive dump". Dieser Befehl führt die folgenden Aktionen aus, wenn er innerhalb einer Drupal-Installation ausgeführt wird (d. h. von überall innerhalb des Verzeichnisbaums):
-
Zunächst wird eine Kopie der Datenbank(en) für Ihre Website(s) exportiert
-
Als nächstes holt es sich eine Kopie aller Installationsdateien
-
Zuletzt wird ein Archiv des Datenbankexports und der Site-Dateien im aktuellen Arbeitsverzeichnis erstellt
Auf diese Weise können Sie mit dem folgenden Befehl, der im Beispiel unten gezeigt wird, einen Schnappschuss Ihrer Website erstellen.
Drushs 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 dem Archiv einen Datums-/Zeitstempel hinzufügt …? schön, oder?
Hinweis
Sie können auch Folgendes verwenden, um denselben Befehl wie oben auszuführen
-
drush Archivsicherung
-
drush arb
Standardmäßig verwendet drush einen Dateinamen, der einen Datums-/Zeitstempel enthält, sodass Sie so viele Schnappschüsse der Site behalten können, wie Sie möchten. Die Sicherungsdateien sind im standardmäßigen gzippten tar-Format, sodass Sie Ihr bevorzugtes Archivdienstprogramm verwenden können, um ihren Inhalt zu überprüfen. Einige nützliche Optionen, die Sie zusammen mit dem Befehl drush ard bereitstellen können, lauten wie folgt:
-
„--destination“:Mit dieser Option können Sie ein anderes Ziel für die Backup-Datei angeben, damit Sie Ihre Drupal-Installation nicht mit Archiven an willkürlichen Orten verunreinigen. Beachten Sie, dass Sie einen vollständigen Pfad und Dateinamen angeben müssen, z. "drush ard --destination /home/user/backups/drupal/drupal_backup.tar.gz."
-
"--overwrite":Normalerweise schlägt der Befehl fehl, wenn Sie versuchen, eine Sicherungskopie mit demselben Pfad und Dateinamen wie eine vorhandene Datei zu erstellen. 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 haben möchten.
-
"--no-core":Damit können Sie die Drupal-Kerninstallation ausschließen und nur die Daten sichern, die sich auf die von Ihnen erstellte(n) Website(s) beziehen. Warum würden Sie das tun wollen? Nun, Sie können immer die neueste Drupal-Version von der Website des Projekts oder FTP abrufen, sodass Sie keinen Speicherplatz dafür verschwenden müssen. Es könnte auch sein, dass etwas mit Ihrer Core-Installation passiert ist und Sie möchten eine saubere Kopie von Drupal selbst wiederherstellen und dann darüber Ihre Website.
Sobald Sie einen drush ard-Befehl haben, der Ihren Anforderungen entspricht, vergessen Sie nicht, ihn in Ihr bevorzugtes Admin-Shell-Skript oder als Teil Ihrer Cron-Jobs aufzunehmen.
Wiederherstellen Ihrer Website
Für den Fall, dass Ihr alter Server explodiert ist (sorry), Sie haben ein neues Hosting gefunden, einschließlich Webspace und Zugriff auf einen Datenbankserver. Jetzt ist es an der Zeit, Ihre Website aus einem Ihrer Backups wiederherzustellen. Der Befehl drush arr erledigt dies für Sie, wenn Sie die folgenden Schritte ausführen:
-
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).
-
Führen Sie als Nächstes den Befehl drush arr '/path/to/nameofyourbackup.tar.gz' aus. Dadurch wird der gesamte Verzeichnisbaum Ihrer Drupal-Installation entpackt (vorausgesetzt, Sie haben nicht die Option „--no-core“ verwendet).
-
Außerdem befindet sich im Stammverzeichnis Ihrer Drupal-Installation ein Export der Datenbank. Sie müssen dies in eine neue Datenbank importieren, um alle Ihre Inhalte, Benutzer usw. wiederherzustellen. Angenommen, Sie verwenden eine MySQL-Datenbank und haben bereits einen Datenbankbenutzer erstellt, können Sie für den Import eine der folgenden Methoden verwenden:
-
Geben Sie, während Sie als Benutzer angemeldet sind, der Zugriff auf die neue Drupal-Datenbank hat, den folgenden Befehl vom Terminal aus:[email protected]:~$ mysql drupal_db_name
-
Mit phpMySQL können Sie den Export über ein Webinterface in eine neue (leere) Datenbank importieren.
-
-
Zuletzt müssen Sie wahrscheinlich einige Anpassungen an Ihrer settings.php-Datei vornehmen, einschließlich:
-
Überprüfen Sie die Berechtigungen auf Ihrer Website – wenn Sie beim Extrahieren der Dateien Ihrer Website einen anderen Benutzernamen haben (was wahrscheinlich der Fall ist, wenn es sich um ein anderes Hosting-Konto handelt), können Sie keine Dateien oder Verzeichnisse ändern, und Sie werden es vielleicht nicht einmal tun in der Lage sein, Ihre Website anzuzeigen.
-
Anpassen der URL und/oder des Ports, wo sich Ihre Website(s) befinden.
-
Ändern Sie die URL, den Benutzernamen und das Passwort, wo sich die Datenbank für Ihre Website befindet.
-
Sobald dies abgeschlossen ist, sollten Sie in der Lage sein, Ihre Homepage-URL zu besuchen und Ihre Website so zu sehen, wie Sie sie verlassen haben …? nur, so hoffen wir, auf einem widerstandsfähigeren Host.