Comment déconnecter un site avec Drush?

80

Comment puis-je déconnecter un site avec Drush?

Markdorison
la source

Réponses:

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
la source
7
Si vous utilisez drush-5.x, vous pouvez maintenant simplement utiliser "drush vset maintenance_mode 1". Drush réécrira maintenance_mode sur site_offline pour Drupal 6. (Cette fonctionnalité est plus récente que la réponse ci-dessus.)
greg_1_anderson
5
Assurez-vous de vider caches ( drush cc all) après avoir changé cette variable.
Smokris
1
Drupal 8: drush state-set system.maintenance_mode 1(Je n'aime pas les pseudonymes de drush)
Andrea
15

Tout d’abord, vous devez aller dans le bon répertoire afin d’être dans le répertoire Drupal. Si vous utilisez un cd d’installation multi-sites dans le répertoire sites / nom_site correct ou spécifiez le paramètre -l correct

Dans Drupal 6, seule cette commande est réellement requise:

$ drush vset --yes site_offline 1;

Également dans Drupal 6, vous pouvez utiliser les commandes suivantes si vous souhaitez spécifier un message à afficher aux utilisateurs du site lorsqu'il est en panne.

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

Dans Drupal 7, utilisez la commande suivante pour mettre le site en mode maintenance:

$ drush vset --yes maintenance_mode 1;

Pour définir un message spécifique, utilisez:

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

Il pourrait être nécessaire d'effacer les caches pour que les modifications de ces variables prennent effet:

$ drush cc all
Stewart Robinson
la source
1
Cela ne fonctionne pas si la variable n'existe pas déjà. Vous manquez le paramètre --always-set.
Tobias Sjösten
1
La variable est cependant créée par l’installateur. Allez installer une nouvelle drupal et regardez dans la table des variables.
Stewart Robinson
1
En raison de l'inclusion de la partie site_offline_message. Je pense que l'équivalent Drupal 7 de site_offline_message est maintenance_mode_message?
lolcode
Vous n'avez pas besoin d'effacer le cache, variable_set () le fait pour vous: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/…
mvc
1
variable_set n'efface que deux caches. cache_clear_all ('variables', 'cache_bootstrap');
Stewart Robinson
2

Pour ce faire avec Drupal 8 et Drush 8.x, utilisez la state-setcommande suivante :

drush sset system.maintenance_mode 1

Au début, j'ai supposé que ce serait quelque chose que je définirais avec drush config-set system.maintenance, cependant les seules clés de cette configuration sont message(le message affiché lorsque le mode maintenance est activé) et langcode(le code de langue pour ledit message).

chrisfree
la source
0

Ceci est contrôlé par une variable, site_offline.

$ drush vset --always-set site_offline 1

Vous pouvez également définir le message hors connexion de cette façon.

$ drush vset --always-set site_offline_message 'Please try again later!'
Tobias Sjösten
la source
Cela ramènerait le site s'il était en maintenance.
Stewart Robinson
Merci d'avoir fait remarquer cela. Bien sûr, il devrait être mis à 1, rien d'autre.
Tobias Sjösten
0

À partir de Drupal 6, utilisez:

drush vset site_offline 1

Pour le sortir de la maintenance:

drush vset site_offline 0
drush cc all
TechGirlGeek
la source