Come portare un sito offline usando Drush?


80

Come posso portare un sito offline usando Drush?

Risposte:


125

Drupal 8: drush sset system.maintenance_mode TRUE

Drupal 7: drush vset maintenance_mode 1

Drupal 6: drush vset site_offline 1


7
Se stai usando drush-5.x, ora puoi semplicemente usare "drush vset maintenance_mode 1". Drush riscriverà la modalità di manutenzione in site_offline per Drupal 6. (Questa funzione è più recente della risposta di cui sopra.)
greg_1_anderson il

5
Assicurati di cancellare le cache ( drush cc all) dopo aver modificato questa variabile.
smokris

1
Drupal 8: drush state-set system.maintenance_mode 1(Non mi piacciono gli alias di Drush)
Andrea,

15

Per prima cosa dovresti cd nella directory corretta in modo da essere nella directory Drupal. Se si utilizza un cd di installazione multi-sito nella directory dei siti / sitename corretta o specificare l'impostazione -l corretta

In Drupal 6 è richiesto solo questo comando:

$ drush vset --yes site_offline 1;

Inoltre in Drupal 6 è possibile utilizzare i seguenti comandi se si desidera specificare un messaggio da mostrare agli utenti del sito mentre è inattivo.

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

In Drupal 7 usa il seguente comando per mettere il sito in modalità manutenzione:

$ drush vset --yes maintenance_mode 1;

Per impostare un messaggio specifico utilizzare:

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

Potrebbe essere necessario cancellare le cache per rendere effettive le modifiche di queste variabili:

$ drush cc all

1
Questo non funziona se la variabile non esiste già. Manca il parametro --always-set.
Tobias Sjösten

1
Tuttavia, la variabile viene creata dall'installer. Vai a installare un nuovo drupal e guarda nella tabella delle variabili.
Stewart Robinson,

1
Eseguito l'upgrade a causa dell'inclusione della parte site_offline_message. Credo che l'equivalente Drupal 7 di site_offline_message sia maintenance_mode_message?
lolcode

Non è necessario svuotare la cache, variabile_set () lo fa per te: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/…
mvc

1
variabile_set cancella solo due cache. cache_clear_all ('variabili', 'cache_bootstrap');
Stewart Robinson,

2

Per fare questo con Drupal 8 e Drush 8.x usa il state-setcomando :

drush sset system.maintenance_mode 1

Inizialmente, supponevo che questo sarebbe qualcosa con cui avrei impostato drush config-set system.maintenance, tuttavia le uniche chiavi in ​​quella configurazione sono message(il messaggio visualizzato quando la modalità di manutenzione è abilitata) e langcode(il codice della lingua per quel messaggio).


0

Questo è controllato da una variabile site_offline.

$ drush vset --always-set site_offline 1

Puoi anche impostare il messaggio offline in questo modo.

$ drush vset --always-set site_offline_message 'Please try again later!'

Ciò ripristinerebbe il sito se è inattivo per manutenzione.
Stewart Robinson,

Grazie per la segnalazione. Ovviamente dovrebbe essere impostato su 1, nient'altro.
Tobias Sjösten,

0

Da Drupal 6 usa:

drush vset site_offline 1

Per toglierlo dalla manutenzione:

drush vset site_offline 0
drush cc all
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.