Поиск по сайту:

Руководство для начинающих по Drush: оболочка Drupal


О Друше

Drush — это отличный интерфейс оболочки для управления Drupal прямо из командной строки вашего облачного сервера. Это очень полезный инструмент, поскольку он помогает выполнять различные административные задачи, используя всего одну или две команды в терминале, заменяя необходимость множества кликов и обновлений страниц в пользовательском интерфейсе.

В этом руководстве рассматриваются некоторые основные команды Drush и работа со стандартной установкой Drupal, чтобы проиллюстрировать их. Предполагается, что у вас уже установлен Drush на вашем облачном сервере и у вас есть рабочая копия Drupal. Если вы не знаете, как это сделать, обратитесь к предыдущему руководству, в котором объясняются все шаги.

Примечание. Все следующие команды необходимо выполнять из каталога установки Drupal. На самом деле не имеет значения, где вы находитесь, если вы находитесь где-то в корневой папке.

Для начала сначала перейдите в каталог папки Drupal:

cd /var/www/[drupal_folder_name]

Некоторые общие команды

Одна из самых простых команд Drush:

drush status

Это даст вам обзор вашего сайта Drupal. Версия, URI, местоположение базы данных, пути к файлам, тема по умолчанию и т. д. Если вы используете эту команду и не видите этой информации, это означает, что вы находитесь в неправильной папке, и Drush не знает, на какой сайт Drupal вы ссылаетесь.

Если вы разработчик Drupal, вы знаете, что очень часто делаете очистку кеша. С Drush это почти весело:

drush cc

Это спросит вас, какой тип кеша вы хотите удалить для более детального контроля, но если вы выполните следующую команду, вы сразу очистите все кеши:

drush cc all

Друпал проекты

Давайте установим Views (я уверен, что вы знаете об этом модуле). Для этого вам сначала нужно выполнить следующую команду:

drush pm-download views

или

drush dl views

Любая из этих команд загрузит представления и поместит их в соответствующую папку sites/all/modules. Вторая команда является укороченной версией первой. Вы заметите, что многие команды имеют короткие версии для еще более быстрой работы. Например, длинная версия команды drush status называется drush core-status, поэтому не удивляйтесь, если увидите, что другие используют ее.

Теперь, когда Views установлен, включите его с помощью следующей команды (длинная версия которой — pm-enable):

drush en views

Вы увидите, что Drush немедленно сообщит вам, что Views требует загрузки и включения Ctools, и спросит вас, должен ли он также выполнять эти действия. Если вы выберете «да», он загрузит Ctools и еще раз попросит вас подтвердить, хотите ли вы, чтобы Views и Ctools были включены. Скажи «да» еще раз, и все готово. Итак, сколько кликов и копий URL вы сохранили с помощью одной только этой команды?

Если вы хотите отключить представления, выполните следующую команду (длинная версия которой — pm-disable):

drush dis views

И если вы хотите удалить Views, вы можете использовать следующую команду:

drush pm-uninstall views

Это также удалит таблицы базы данных, принадлежащие этому модулю.

Примечание: имена модулей, которые вы должны использовать с Drush, являются именами машин. Если у вас есть сомнения относительно того, что это за имя, вы можете легко получить его по URL-адресу страницы проекта модуля: drupal.org/project/views. Последний сегмент URI — это то, что вам нужно. Кроме того, вы можете указать несколько имен модулей, разделенных одним пробелом, если хотите, чтобы Drush выполнял действия над всеми ними. Например:

drush pm-uninstall views ctools

Поэтому установка модулей проста. Но как насчет тем? Ну точно такая же процедура. Темы также являются проектами drupal.org, которые вы можете загрузить и включить с помощью тех же команд.

И если вы хотите получить обзор всех проектов на сайте, вы можете запустить следующую команду (длинная версия которой — pm-list):

drush pml

Это вернет список всех проектов на вашем сайте. Если список слишком велик для управления, вы можете передать различные аргументы для фильтрации в зависимости от того, что вам нужно. Например, если вы хотите увидеть все неосновные проекты, вы можете запустить эту команду:

drush pml --no-core

Пользователи

Вы имеете дело со многими учетными записями пользователей на вашем сайте? Drush может с легкостью справиться с этим.

Вы можете создать нового пользователя с помощью следующей команды:

drush user-create username --mail="email@example.com" --password="password"

Затем терминал отобразит некоторую информацию о вновь созданном пользователе. Хотите удалить этого пользователя? Используйте следующую команду:

drush user-cancel username

И это так просто. Хотите изменить свой пароль? Или любой другой пароль пользователя в этом отношении? Выполните следующую команду:

drush user-password admin --password="new_pass"

Обновление

Drush очень удобен, когда дело доходит до обновления проектов Drupal или самого ядра Drupal.

Давайте сначала рассмотрим ваши варианты обновления. Вы должны обновить модули, темы и ядро, как кодовую базу, так и таблицы базы данных. Как вы знаете, в пользовательском интерфейсе это происходит в два этапа: сначала загружается кодовая база, а затем вы запускаете скрипт update.php для ожидающих обновлений таблицы базы данных. В Drush это также разделено на две команды, но вы также можете использовать их в рамках одной команды.

Но сначала вы можете проверить, есть ли доступные обновления, используя следующую команду:

drush up -n | grep available

Это короткая версия команды pm-update, но она автоматически отвечает \нет\ на любые вопросы (чтобы предотвратить фактическое обновление) и показывает только те строки терминала, которые содержат доступные обновления (чтобы не было захламленного экрана).

Если вы хотите обновить все сразу (не рекомендуется), вы можете просто запустить команду drush up. Но предпочтительнее устанавливать обновления по одному или группой модулей, чтобы вы могли отслеживать, если что-то сломается на вашем сайте.

Чтобы обновить только представления (и кодовую базу, и базу данных), если они появились в списке доступных обновлений, выполните следующую команду:

drush up views

Если вы хотите обновить кодовую базу и базу данных по отдельности, начните с обновления кодовой базы с помощью следующей команды:

drush upc views

Затем, чтобы обновить таблицы базы данных, вы можете либо запустить скрипт update.php в браузере, либо использовать следующую команду:

drush updatedb views

Это запустит скрипт обновления базы данных. Готово. Обновление ядра Drupal происходит точно так же. Если вы хотите обновить только ядро Drupal, выполните следующую команду:

drush up drupal

Заключение

Как видите, использование Drush облегчает жизнь как разработчикам Drupal, так и администраторам сайтов. Это лишь некоторые из наиболее распространенных и основных команд, которые вы можете использовать каждый день. Но есть много более продвинутых команд, которые действительно круты и заслуживают изучения.