Wie kann ich eine Site mit Drush offline schalten?

80

Wie kann ich eine Site mit Drush offline schalten?

Markdorison
quelle

Antworten:

125

Drupal 8: drush sset system.maintenance_mode TRUE

Drupal 7: drush vset maintenance_mode 1

Drupal 6: drush vset site_offline 1

tim.plunkett
quelle
7
Wenn Sie drush-5.x verwenden, können Sie jetzt einfach "drush vset maintenance_mode 1" verwenden. Drush schreibt den Wartungsmodus für Drupal 6 in site_offline um. (Diese Funktion ist neuer als die obige Antwort.)
greg_1_anderson
5
Stellen Sie sicher, dass Sie die Caches ( drush cc all) löschen, nachdem Sie diese Variable geändert haben.
Smokris
1
Drupal 8: drush state-set system.maintenance_mode 1(Ich mag keine Aliase von Drush)
Andrea
15

Zuerst sollten Sie in das richtige Verzeichnis wechseln, damit Sie sich im Drupal-Verzeichnis befinden. Wenn Sie eine Installations-CD mit mehreren Standorten verwenden, legen Sie diese im richtigen Verzeichnis sites / sitename ab oder geben Sie die richtige Einstellung -l an

In Drupal 6 wird nur dieser Befehl benötigt:

$ drush vset --yes site_offline 1;

In Drupal 6 können Sie auch die folgenden Befehle verwenden, wenn Sie eine Nachricht angeben möchten, die den Benutzern der Site angezeigt werden soll, während diese inaktiv ist.

$ drush vset --yes site_offline_message "This site is being maintained";
$ drush vset --yes site_offline 1;

Verwenden Sie in Drupal 7 den folgenden Befehl, um die Site in den Wartungsmodus zu versetzen:

$ drush vset --yes maintenance_mode 1;

So legen Sie eine bestimmte Nachricht fest:

$ drush variable-set --yes maintenance_mode_message "This site is being maintained"

Es kann erforderlich sein, Caches zu löschen, damit die Änderungen dieser Variablen wirksam werden:

$ drush cc all
Stewart Robinson
quelle
1
Dies funktioniert nicht, wenn die Variable noch nicht existiert. Ihnen fehlt immer der Parameter - set.
Tobias Sjösten
1
Die Variable wird jedoch vom Installationsprogramm erstellt. Installieren Sie einen neuen Drupal und schauen Sie in die Variablentabelle.
Stewart Robinson
1
Upvoted, da der site_offline_message-Teil hinzugefügt wurde. Ich glaube, das Drupal 7-Äquivalent von site_offline_message ist maintenance_mode_message.
LOLCODE
Sie müssen den Cache nicht leeren
mvc
1
variable_set löscht nur zwei Caches. cache_clear_all ('variables', 'cache_bootstrap');
Stewart Robinson
2

Verwenden Sie dazu für Drupal 8 und Drush 8.x den folgenden state-setBefehl :

drush sset system.maintenance_mode 1

Zuerst nahm ich an, dass dies etwas ist, das ich einstellen würde drush config-set system.maintenance, aber die einzigen Schlüssel in dieser Konfiguration sind message(die Meldung, die angezeigt wird, wenn der Wartungsmodus aktiviert ist) und langcode(der Sprachcode für diese Meldung).

chrisfrei
quelle
0

Dies wird durch eine Variable site_offline gesteuert.

$ drush vset --always-set site_offline 1

Sie können die Offline-Nachricht auch auf diese Weise festlegen.

$ drush vset --always-set site_offline_message 'Please try again later!'
Tobias Sjösten
quelle
Dadurch wird die Site wiederhergestellt, wenn sie wegen Wartungsarbeiten nicht verfügbar ist.
Stewart Robinson
Vielen Dank für den Hinweis. Natürlich sollte es auf 1 gesetzt sein, sonst nichts.
Tobias Sjösten
0

Von Drupal 6 verwenden:

drush vset site_offline 1

So nehmen Sie es aus der Wartung heraus:

drush vset site_offline 0
drush cc all
TechGirlGeek
quelle