Drush kullanarak bir siteyi çevrimdışı yapmak nasıl?


80

Drush kullanarak bir siteyi nasıl çevrimdışı yapabilirim?

Yanıtlar:


125

Drupal 8: drush sset system.maintenance_mode TRUE

Drupal 7: drush vset maintenance_mode 1

Drupal 6: drush vset site_offline 1


7
Drush-5.x kullanıyorsanız, şimdi sadece "drush vset maintenance_mode 1" kullanabilirsiniz. Drush, Drupal 6 için maintenance_mode sitesini site_offline olarak yeniden yazacak. (Bu özellik yukarıdaki cevaptan daha yeni.)
greg_1_anderson

5
drush cc allBu değişkeni değiştirdikten sonra önbellekleri ( ) temizlediğinizden emin olun .
smokris

1
Drupal 8: drush state-set system.maintenance_mode 1(Drush'un takma adlarını sevmiyorum)
Andrea

15

Öncelikle, Drupal dizini içerisindeyken doğru dizine girmelisiniz. Çok siteli kurulum CD'sini doğru sitelere / sitename dizinine kullanıyorsanız veya doğru -l ayarını belirtiyorsanız

Drupal 6'da sadece bu komut aslında gereklidir:

$ drush vset --yes site_offline 1;

Ayrıca Drupal 6'da, aşağıdayken sitenin kullanıcılarına gösterilecek bir mesaj belirtmek istiyorsanız aşağıdaki komutları kullanabilirsiniz.

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

Drupal 7'de siteyi bakım moduna geçirmek için aşağıdaki komutu kullanın:

$ drush vset --yes maintenance_mode 1;

Belirli bir mesajı kullanmak için

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

Bu değişkenlerin değişikliklerinin etkili olduğunu gösteren önbellekleri silmek gerekli olabilir:

$ drush cc all

1
Değişken zaten mevcut değilse, bu çalışmaz. - set set parametresini kaçırıyorsunuz.
Tobias Sjösten

1
Değişken yükleyici tarafından olsa bile yaratılır. Yeni bir drupal kurun ve değişken tablosuna bakın.
Stewart Robinson,

1
Site_offline_message bölümünün eklenmesi nedeniyle geliştirildi. Drupal 7'nin site_offline_message'in eşdeğerinin maintenance_mode_message olduğuna inanıyorum?
Lolcode

Önbelleği temizlemenize gerek yok, değişken_set () bunu sizin için yapar: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/…
mvc

1
variable_set sadece iki önbelleği temizler. cache_clear_all ('değişkenler', 'cache_bootstrap');
Stewart Robinson,

2

Bunu Drupal 8 ve Drush 8.x ile yapmak için aşağıdaki state-setkomutu kullanın :

drush sset system.maintenance_mode 1

İlk başta, bunun ayarlayacağım bir şey olacağını varsaydım drush config-set system.maintenance, ancak bu yapılandırmadaki tek anahtarlar message(bakım modu etkinleştirildiğinde görüntülenen mesaj) ve langcode(söz konusu mesajın dil kodu).


0

Bu değişken bir site_offline tarafından kontrol edilir.

$ drush vset --always-set site_offline 1

Çevrimdışı mesajı da bu şekilde ayarlayabilirsiniz.

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

Bu, bakım için kapalıysa siteyi geri getirecektir.
Stewart Robinson,

Gösterdiğin için teşekkürler. Tabii ki 1 olarak ayarlanmalı, başka bir şey yok.
Tobias Sjösten

0

Drupal 6 kullanımından:

drush vset site_offline 1

Bakımdan çıkarmak için:

drush vset site_offline 0
drush cc all
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.