Bagaimana cara membuat situs offline menggunakan Drush?

80

Bagaimana saya bisa mengambil situs offline menggunakan Drush?

markdorison
sumber

Jawaban:

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
sumber
7
Jika Anda menggunakan drush-5.x, Anda sekarang dapat menggunakan "drush vset maintenance_mode 1". Drush akan menulis ulang maintenance_mode ke site_offline untuk Drupal 6. (Fitur ini lebih baru daripada jawaban di atas.)
greg_1_anderson
5
Pastikan untuk menghapus cache ( drush cc all) setelah mengubah variabel ini.
smokris
1
Drupal 8: drush state-set system.maintenance_mode 1(Saya tidak suka alias drush)
Andrea
15

Pertama Anda harus cd ke direktori yang benar sehingga Anda berada di dalam direktori Drupal. Jika Anda menggunakan cd instalasi multi-situs ke direktori sites / sitename yang benar atau tentukan pengaturan -l yang benar

Di Drupal 6 hanya perintah ini yang benar-benar diperlukan:

$ drush vset --yes site_offline 1;

Juga di Drupal 6 Anda dapat menggunakan perintah berikut jika Anda ingin menentukan pesan untuk ditampilkan kepada pengguna situs saat sedang down.

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

Dalam Drupal 7 gunakan perintah berikut untuk menempatkan situs ke mode pemeliharaan:

$ drush vset --yes maintenance_mode 1;

Untuk mengatur penggunaan pesan tertentu:

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

Mungkin perlu untuk menghapus cache bahwa perubahan variabel-variabel ini berlaku:

$ drush cc all
Stewart Robinson
sumber
1
Ini tidak berfungsi jika variabel belum ada. Anda melewatkan parameter --always-set parameter.
Tobias Sjösten
1
Variabel akan dibuat oleh installer. Pergi instal drupal baru dan lihat di tabel variabel.
Stewart Robinson
1
Dipilih karena menyertakan bagian site_offline_message. Saya percaya Drupal 7 setara dengan site_offline_message adalah maintenance_mode_message?
lolcode
Anda tidak perlu menghapus cache, variabel_set () melakukan itu untuk Anda: api.drupal.org/api/drupal/includes%21bootstrap.inc/function/…
mvc
1
variabel_set hanya menghapus dua cache. cache_clear_all ('variabel', 'cache_bootstrap');
Stewart Robinson
2

Untuk melakukan ini dengan Drupal 8 dan Drush 8.x gunakan state-setperintah :

drush sset system.maintenance_mode 1

Pada awalnya, saya menganggap ini akan menjadi sesuatu yang akan saya atur drush config-set system.maintenance, namun satu-satunya kunci dalam konfigurasi itu adalah message(pesan ditampilkan ketika mode pemeliharaan diaktifkan) dan langcode(kode bahasa untuk pesan tersebut).

bebas chris
sumber
0

Ini dikendalikan oleh variabel, site_offline.

$ drush vset --always-set site_offline 1

Anda juga dapat mengatur pesan offline dengan cara ini.

$ drush vset --always-set site_offline_message 'Please try again later!'
Tobias Sjösten
sumber
Ini akan membawa situs kembali jika sedang dalam perbaikan.
Stewart Robinson
Terima kasih telah menunjukkannya. Tentu saja harus diatur ke 1, tidak ada yang lain.
Tobias Sjösten
0

Dari Drupal 6 gunakan:

drush vset site_offline 1

Untuk menghilangkannya dari pemeliharaan:

drush vset site_offline 0
drush cc all
TechGirlGeek
sumber