Як зробити сайт офлайн за допомогою Drush?


80

Як я можу зробити сайт офлайн за допомогою Drush?

Відповіді:


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, тепер ви можете просто використовувати "drush vset održavanje_mode 1". Друш перепише файл support_mode на site_offline для Drupal 6. (Ця функція є новішою, ніж вищезазначена відповідь.)
greg_1_anderson

5
Обов’язково очистіть кеші ( drush cc all) після зміни цієї змінної.
smokris

1
Drupal 8: drush state-set system.maintenance_mode 1(Мені не подобаються псевдоніми Друша)
Андреа,

15

Спочатку слід ввести правильний каталог, щоб ви знаходилися в каталозі Drupal. Якщо ви використовуєте компакт-диск для встановлення кількох сайтів у правильний каталог сайтів / імен сайтів або вкажіть правильний параметр -l

У Drupal 6 фактично потрібна лише ця команда:

$ drush vset --yes site_offline 1;

Також у Drupal 6 ви можете використовувати наступні команди, якщо ви хочете вказати повідомлення, яке відображатиметься користувачам сайту, поки воно не працює.

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

У Drupal 7 використовуйте наступну команду для переведення сайту в режим обслуговування:

$ drush vset --yes maintenance_mode 1;

Для встановлення конкретного повідомлення використовуйте:

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

Може бути необхідним очистити кеші, що зміни цих змінних набувають чинності:

$ drush cc all

1
Це не працює, якщо змінна вже не існує. Вам не вистачає параметра - завжди встановити.
Tobias Sjösten

1
Змінна отримує створений інсталятором. Ідіть, встановіть свіжий drupal і подивіться у змінну таблицю.
Стюарт Робінсон

1
Оновлено через включення частини site_offline_message. Я вважаю, що еквівалент Drupal 7 для сайту_offline_message є підтримкою_mode_message?
lolcode

Вам не потрібно очищати кеш, змінний_set
mvc

1
змінний_сет очищає лише два кеші. cache_clear_all ('змінні', 'cache_bootstrap');
Стюарт Робінсон

2

Для цього за допомогою Drupal 8 та Drush 8.x використовуйте state-setкоманду :

drush sset system.maintenance_mode 1

Спочатку я припускав, що це буде щось, з чим я б встановив drush config-set system.maintenance, проте єдиними клавішами в цій конфігурації є message(повідомлення, що відображається, коли ввімкнено режим технічного обслуговування) та langcode(код мови для цього повідомлення).


0

Це контролюється змінною, site_offline.

$ drush vset --always-set site_offline 1

Ви також можете встановити офлайн-повідомлення таким чином.

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

Це призведе до створення резервного копіювання сайту, якщо він не підтримується.
Стюарт Робінсон

Дякуємо, що вказали на це. Звичайно, його слід встановити на 1, нічого іншого.
Tobias Sjösten

0

З Drupal 6 використовуйте:

drush vset site_offline 1

Щоб зняти його з обслуговування:

drush vset site_offline 0
drush cc all
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.