Як зробити сайт офлайн за допомогою 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.