Drush (от Drupal shell) — утилита с интерфейсом командной строки, созданная для управления и администрирования Drupal сайтов, доступна как и для Linux, Unix, Mac OS X, так и для Windows систем. Drush используется многими разработчиками, например, для скачивания/установки/удаления модулей, установки сайтов на Drupal, применении обновлений модулей в базе данных, бэкапа сайта и многого другого.

Drush позволяет очень сильно сэкономить время, когда нужно выполнить типичные задачи или автоматизировать часто выполняемые действия. Например, бэкап сайта, очистка кэша, восстановление сайта из бэкапа. Для того, чтобы пользоваться Drush - его сначала нужно установить. Итак, приступим.

Установка Drush

Mac OS X, Linux

Вариант 1
В терминале вводим:

git clone https://github.com/drush-ops/drush
sudo mv drush /usr/local/lib/
sudo chmod u+x /usr/local/lib/drush/drush
sudo ln -s /usr/local/lib/drush/drush /usr/bin/drush

Вариант 2 (Используя PEAR)
Если модуль console_getopt не установлен, установим его:

pear install Console_Getopt

Если он уже установлен, то просто вводим в терминале следующие команды:

>pear upgrade --force Console_Getopt
>pear upgrade --force pear
>pear upgrade-all
>pear channel-discover pear.drush.org
>pear install drush/drush

Windows

Для установки Drush под Windows проще всего воспользоваться установщиком. Переходим сюда и кликаем по ссылке Download Drush 6.0 Windows Installer. Запускаем скаченный DrushSetup.msi с правами Администратора, кликаем Next, выбираем необходимые компоненты и нажимаем Install.

Как пользоваться Drush

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

Команды Drush

Вывод справочной информации

drush help
выводит справку по командам Drush.

drush help [имя команды]
Справка по конкретной команде Drush.

Информация о сайте

drush status
Выведет информацию о Вашем Drupal сайте.

drush --uri=http://mysite.com status
drush -l http://mysite.com status

Аналогично drush status, но для мультисайтинка, где вместо http://mysite.com подставляете URL своего сайта.

drush -r /home/user/sites/drupal status
drush -root=/home/user/sites/drupal status

Выводит информацию о сайте, корневая директория которого находиться в /home/user/sites/drupal

drush sm
drush pm-list

Выводит информацию о всех модулях и темах Drupal сайта.

drush pm-info [имя_модуля]
Выводит информацию о конкретном модуле.

drush pm-releases
Возвращает информацию о версиях модулей и тем.

drush pm-releases [имя модуля или темы]
Возвращает информацию о версиях модуля или темы.

Установка. Удаление. Обновление

drush dl [имя модуля или темы]
Скачивание модуля или темы.

drush en [имя модуля или темы]
Установка скаченного модуля или темы.

drush dis [имя модуля или темы]
Отключение модуля или темы.

drush up [имя модуля или темы]
Обновление модуля или темы.

drush pm-update projects drupal-6.28
Обновление Drupal до указанной версии.

drush pm-uninstall [имя модуля или темы]
Удаление модуля или темы.

Установка Drupal.

В терминале вводим:

drush dl drupal-7
mv drupal-7/ drupal
cd drupal

Далее вводим одну из двух строк:
drush site-install standard --db-url=mysql://[user]:[pass]@localhost/[dbname] --site-name=[sitename]
или:
drush site-install --account-name=admin --account-pass=admin --db-su=root --db-su-pw=root --db-url=mysql://root:root@localhost/drupal-site --site-name=drupal-site

Для Drupal 8 вместо drush dl drupal-7 нужно использовать одну из следующих команд:
drush dl drupal-8 --select
drush dl --default-major=8 --select

Обслуживание сайта

drush cc
Очистка кэша(сокращение от cache-clear. После ввода команды будет предложено какой кэш нужно очистить.

drush cc all
Очистка всех кэшей

drush core-cron
Запуск крона.

BackUp

drush sql-conf
Вывод информации о базе данных Drupal.

drush sql-dump --skip-tables-key=common | gzip > ~/mysite.sql.gz
Дамп базы данных в файл mysite.sql.gz, который будет создан в домашней директории.

gunzip < ~/mysite.sql.gz | `drush sql-connect`
Восстановление базы данных из файла mysite.sql.gz, который находится в домашней директории.

Полный BackUp Сайта

Для бекапа сайта нужно выполнить следующую команду:

drush -r ~/domains/имя_домена ard --destination=/home/`whoami`/backup/`date +%Y%m%d`/имя_файла.tar.gz

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

drush -r ~/domains/имя_домена/sites/корень_сайта_мультисайтинга ard --destination=/home/`whoami`/backup/`date +%Y%m%d`/имя_файла_бекапа.tar.gz

Внутри созданного архива будут хранится файлы Вашего сайта в каталоге c именем сайта и файл дампа БД в sql формате.

P.S.

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

Добавить комментарий