Drush

Матеріал з Wiki.Zina
Версія від 14:23, 23 лютого 2017, створена >Zina (→Ubuntu 16.04: Composer и Drush 8)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Установка и обновление Drush

[ред. | ред. код]

Ubuntu 16.04: Composer и Drush 8

[ред. | ред. код]

Предварительно должен быть установлен Composer: sudo apt-get install composer

sudo git clone --branch 8.x https://github.com/drush-ops/drush.git /opt/drush
cd /opt/drush
sudo composer install
sudo ln -s /opt/drush/drush /usr/local/bin/drush

Проверить версию:

drush version
Drush Version   :  8.1.2

Для установки последней версии Drush (на момент написания инструкции — 9) используйте ветку master:

sudo git clone --branch master https://github.com/drush-ops/drush.git /opt/drush

Для использование drush 8 для друпал 6, 7, 8 понадобится запускать его под несколькими версиями php. Drush 8 запустить можно с любым php >= 5.4 Для drupal 6 использовать php 5.4.

env PATH="/opt/php-5.4.45/bin:$PATH" /usr/local/bin/drush --debug up

Linux: Composer и Drush 8 для Drupal 8

[ред. | ред. код]
sudo apt-get install composer
composer global require drush/drush:dev-master
sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
source $HOME/.bashrc

Проверить версию:

drush version
Drush Version   :  8.1-dev

Старый вариант для Linux: Drush 6 для Drupal 7

[ред. | ред. код]
sudo apt-get install drush php-pear
sudo pear channel-discover pear.drush.org

Проверить версию:

drush version
Drush Version   :  6.2.0 

Обновить drush:

sudo pear upgrade drush/drush

Для OS X

[ред. | ред. код]

Upgrading to Drush 7 (for Drupal 8) on OSX with Homebrew | Patrick Coffey

Ошибка sendmail

[ред. | ред. код]

Если drush при установке Drupal выдает ошибку отправки почты:

sh: 1: /usr/sbin/sendmail: not found 
WD mail: Error sending e-mail

то нужно в php.ini включить заглушку для sendmail:

sudo vim /etc/php5/apache2/php.ini

раскомментировать строку sendmail_path и поставить ей значение:

sendmail_path = /bin/true

Включение Drush на хостинге zina

[ред. | ред. код]

В /etc/php.ini находим disable_functions. Это — функции которые считаются небезопасными.

Сняв комментарий — включаем, закомментируем — отключим их.

Глобальные опции

[ред. | ред. код]

-l, --uri=http://example.com — URI сайта

-y, --yes — отвечать 'yes' на все вопросы

-n, --no — отвечать 'no' на все вопросы

-s, --simulate — имитировать действия (не вносить изменения)

-c, --config Specify — config файл для использования. Смотрите example.drushrc.php

Болтливость:

-q, --quiet — молчаливый режим

-p, --pipe — использовать компактное представление (полезно для использования в скриптах)

-v, --verbose — показывать расширенную информацию

-d, --debug — показывать еще больше информации, чем при --verbose

Скачать Drupal

[ред. | ред. код]

Скачать последнюю рекомендуемую версию Drupal:

drush dl

Узнать номер последней рекомендуемой версии: drush pm-releases или drush rl

drush rl drupal | grep Recommended
drush rl drupal | grep Recommended | awk '{print $2}'
drush rl drupal-8 | grep Recommended | awk '{print $2}'

Скачать последнюю dev версию Drupal 7:

drush dl drupal-7.x

Скачать конкретную версию Drupal (узнать номер здесь: https://www.drupal.org/node/3060/release?api_version%5B%5D=103)

drush dl drupal-7.40

Показать список рекомендуемых версий Drupal:

drush dl --select drupal

Показать список рекомендуемых 8-х версий Drupal:

drush dl --select drupal-8

Скачать dev версию дистрибутива «drupalife_store»:

drush dl drupalife_store --dev

Установка Drupal

[ред. | ред. код]

Информация об установленном Drupal

[ред. | ред. код]

Информация об установленном Drupal:

drush status

Лог системных событий (новые сверху):

drush watchdog-show

Лог обновляющийся и в обратном порядке:

drush watchdog-show --tail

Установить значение переменной

[ред. | ред. код]

Узнать значение переменной — например, приватный путь файловой системы file_private_path:

drush vget file_private_path

Установить значение переменной:

drush vset file_private_path sites/default/files/private

Установить значения массива

[ред. | ред. код]

Пример: есть массив commerce_enabled_currencies, содержимое которого можно получить командой drush vget commerce_enabled_currencies:

commerce_enabled_currencies: array (
  'USD' => 'USD',
  'AED' => 0,
  ...
  'UAH' => 0,
  ...
  'ZMK' => 0,
)

Установим в этом массиве две переменных — USD и UAH:

drush php-eval '$v = variable_get("commerce_enabled_currencies", array()); $v["USD"] = "USD"; $v["UAH"] = "UAH"; variable_set("commerce_enabled_currencies", $v);'

Источник

Узнать, какая тема установлена в качестве основной:

drush vget theme_default

Установить основную тему:

drush vset theme_default название_темы

Узнать, какая тема админки:

drush status admin-theme

Установить тему админки:

drush vset admin_theme название_темы

Бэкап

[ред. | ред. код]

Встроенный бэкап (archive-dump) всего — и файлов, и базы данных. Создает один архив .tar.gz по адресу вида ~/drush-backups/archive-dump/20141116173148

drush ard

Лучший вариант бэкапа — с помощью модуля Backup and Migrate.

Установка модуля:

drush dl backup_migrate && drush -y en backup_migrate

Настройка: admin/config/media/file-system → «Приватный путь файловой системы»: sites/default/files/private

Бэкап только базы (на пустом сайте около 0,5 мб):

drush bb

Бэкап всего — и файлов, и базы (на пустом сайте около 60 мб):

drush bb archive

Восстановление из бэкапа:

drush bam-restore source=db destination=manual backup id=

Узнать варианты:

  • drush bam-sources
  • drush bam-destinations
  • drush bam-backups

Очистка кэша с выбором, что именно очищать:

drush cc

Очистка всего кэша:

drush cc all

Очистка кэша CSS и JS:

drush cc css-js

Очистка кэша функций:

drush cc registry

Включить сжатие CSS:

drush vset preprocess_css 1

Выключить:

drush vset preprocess_css 0

Аналогично для JavaScript:

drush vset preprocess_js 1

Локализация Drupal

[ред. | ред. код]
drush dl drush_language
drush dl l10n_update
drush en l10n_update
drush language-add ru
drush language-enable ru
drush language-default ru
drush l10n-update-refresh
drush l10n-update

Экспорт в .po файл:

drush language-export ru ru.po

Обновление Drupal и модулей

[ред. | ред. код]

Проверить доступные обновления:

drush up -n | grep available

Обновить всё:

drush up

Обновить только модули, без ядра:

drush up --no-core

Обновить только ядро Drupal:

drush up drupal

Обновить базу данных (может потребоваться после обновления ядра):

drush updb

Обновить отдельный модуль (например, views):

drush up views

Модули

[ред. | ред. код]

pml — сокращенный вариант команды pm-list

Список установленных модулей:

drush pml

Уточненный вариант:

 drush pml --type=module --status=enabled --no-core --pipe

здесь:

  • --type=module — только модули (--type=theme — темы)
  • --status=enabled — активированные
  • --no-core — без модулей ядра
  • --pipe — списком, то же самое, что --format=list (по умолчанию — таблицей)

Список модулей по имени — например, views:

 drush pml | grep views

Количество активированных модулей:

 drush pml --type=module --status=enabled | wc -l

Посмотреть (pm-releases или rl) доступные варианты версий модуля Views для Drupal 7:

drush rl --default-major=7 views

Скачать модуль Views:

drush dl views

Включить модуль Views:

drush en views

Отключить модуль Views:

drush dis views

Удалить модуль Views:

drush pm-uninstall views

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

[ред. | ред. код]

Создать пользователя:

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

Удалить пользователя:

drush user-cancel username

Поменять пароль:

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

Создать роль (rcrt):

drush role-create 'Название роли'

Удалить роль (rdel):

drush role-delete 'Название роли'

Добавить роли права (rap):

drush role-add-perm 'Редактор сайта' 'create page content'

Назначить роль пользователю (urol):

drush user-add-role 'Редактор сайта' --name=editor
drush user-add-role 'Редактор сайта' --mail=info@site.com
drush user-add-role 'Редактор сайта' --uid=2

Нескольких пользователей перечислить через запятую.

Clear feature cache

drush fl

Update a Feature

drush fu feature_name

Revert a Feature

drush fr feature_name

Revert all Features

drush fra

XML SiteMap

[ред. | ред. код]

Обновить:

drush xmlsitemap-rebuild

Ссылки

[ред. | ред. код]

Bash скрипты