Como colocar um site offline usando o Drush?

80

Como posso colocar um site offline usando o Drush?

markdorison
fonte

Respostas:

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
fonte
7
Se você estiver usando o drush-5.x, agora você pode simplesmente usar "drush vset maintenance_mode 1". Drush irá reescrever maintenance_mode para site_offline para Drupal 6. (Este recurso é mais recente que a resposta acima.)
greg_1_anderson
5
Certifique-se de limpar caches ( drush cc all) depois de alterar essa variável.
21412 smokris
1
Drupal 8: drush state-set system.maintenance_mode 1(Eu não gosto de aliases de Drush)
Andrea
15

Primeiro, você deve entrar no diretório correto para entrar no diretório Drupal. Se você estiver usando um CD de instalação de vários sites no diretório sites / sitename correto ou especifique a configuração -l correta

No Drupal 6, apenas este comando é realmente necessário:

$ drush vset --yes site_offline 1;

Também no Drupal 6, você pode usar os seguintes comandos se desejar especificar uma mensagem para mostrar aos usuários do site enquanto ele estiver inativo.

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

No Drupal 7, use o seguinte comando para colocar o site no modo de manutenção:

$ drush vset --yes maintenance_mode 1;

Para definir uma mensagem específica, use:

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

Pode ser necessário limpar os caches para que as alterações dessas variáveis ​​entrem em vigor:

$ drush cc all
Stewart Robinson
fonte
1
Isso não funciona se a variável ainda não existir. Está faltando o parâmetro --always-set.
Tobias Sjösten
1
A variável é criada pelo instalador. Vá instalar um drupal novo e procure na tabela de variáveis.
Stewart Robinson
1
Voto positivo devido à inclusão da parte site_offline_message. Eu acredito que o Drupal 7 equivalente a site_offline_message é maintenance_mode_message?
LOLCODE
Você não precisa limpar o cache, variable_set () faz isso por você: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/…
mvc
1
variable_set limpa apenas dois caches. cache_clear_all ('variáveis', 'cache_bootstrap');
Stewart Robinson
2

Para fazer isso com o Drupal 8 e o Drush 8.x, use o state-setcomando :

drush sset system.maintenance_mode 1

Inicialmente, eu assumi que isso seria algo com o qual drush config-set system.maintenancedefiniria, no entanto, as únicas chaves nessa configuração são message(a mensagem exibida quando o modo de manutenção está ativado) e langcode(o código de idioma para a mensagem).

chrisfree
fonte
0

Isso é controlado por uma variável, site_offline.

$ drush vset --always-set site_offline 1

Você também pode definir a mensagem offline dessa maneira.

$ drush vset --always-set site_offline_message 'Please try again later!'
Tobias Sjösten
fonte
Isso traria o site de volta se estiver em manutenção.
Stewart Robinson
Obrigado por apontar isso. Claro que deve ser definido como 1, nada mais.
Tobias Sjösten
0

No Drupal 6, use:

drush vset site_offline 1

Para retirá-lo da manutenção:

drush vset site_offline 0
drush cc all
TechGirlGeek
fonte