Drush
Предварительно должен быть установлен 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
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
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
Upgrading to Drush 7 (for Drupal 8) on OSX with Homebrew | Patrick Coffey
Если 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
В /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:
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:
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
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
Проверить доступные обновления:
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
Обновить:
drush xmlsitemap-rebuild
- http://www.drushcommands.com/
- https://www.drupal.org/documentation/modules/drush - Managing a site from the command line using Drush
- DRUSH 3 полный список команд, опций и аргументов
- Работа с drush
- Установка Drupal 7 с помощью Drush
- Drush команда для мгновенной установки Друпала
- Мой Топ-10 drush команд
- СОЗДАНИЕ DRUSH-КОМАНД
- Drupal: Полезные команды в Drush xandeadx.ru
- The most useful drush commands
Bash скрипты