Drush часто используемые команды.

Cписок часто используемых команд Drush.

Загрузка и установка сайта

Загрузка последней стабильной версии Drupal

drush dl 

Предварительный выбор версии

drush dl --select

Установка сайта со стандартным профилем

drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Полезные опции
--account-name=admin
--account-pass=password
--clean-url
--account-mail

Загрузка модуля (в папку sites/all/modules)

drush dl modulename

Активация модуля

drush en modulename -y

Перевод сайта на русский язык

Загружаем и включаем модуль l10n-update

drush dl l10n_update
drush en l10n_update -y

Загружаем расширение drush для работы с языками

drush dl drush_language

Добавляем, включаем и делаем дефолтным русский язык

drush language-add ru
drush language-enable ru
drush language-default ru

Обновляем список переводов с сервера

drush l10n-update-refresh 

Переводим сайт на русский язык

drush l10n-update

Обновление сайта и модулей

Обновление всего сайта

drush up

Обновление только ядра

drush up drupal

Обновление указанного модуля

drush up modulename

Обновление всех модулей сайта, без ядра

drush up --no-core

Обновление только тех модулей и ядра, где есть обновление безопасности

drush up --security-only 

Бекап сайта

Бекап файлов и базы данных в архив

drush archive-dump --destination=site_backup.tar.gz 

Восстановление файлов и базы данных из бекапа

drush archive-restore site_backup.tar.gz

Полезные опции
--exclude=sites/default/files
--no-core
--overwrite

Бекап базы данных

drush sql-dump

Импорт базы данных из бекапа

drush sql-cli

Команды на все случаи

Очистка кэша

drush cc all

Запуск крона

drush cron

Создание нового юзера

drush user-create user1 --mail="mail@mail.ru" --password="pass"

Даём юзеру user1 роль role1

drush user-add-role role1 user1

Смена пароля у user1

drush upwd --password="newpass" user1

Удаление юзера вместе с контентом

drush user-cancel username --delete-content

Включение режима обслуживания (0 - выключение)

drush vset maintenance_mode 1

Синхронизация сайта

Синхронизация базы данных с удаленного сервера на локальный.

drush sql-sync @prod @local

Полезные опции:
--create-db
--tables-list
--skip-tables-key

Синхронизация файлов с удаленного сервера на локальный.

drush rsync @prod @local

Полезные опции:
--exclude-files

@prod @local - это алиасы сайта. Прописываются тут - ~/.drush/aliases.drushrc.php

<?php
$aliases['local'] = array(
 'root' => '/path/to/drupal/root',
 'uri'  => 'yoursite.localhost',
  );
$aliases['prod'] = array (
'uri' => 'yoursite.com',
'root' => '/path/to/drupal/root',
'remote-user' => 'ssh-user',
'remote-host' => 'ssh-host',
);
?>
update (и будет пополнятся)
Registry Rebuild при возникновении ошибки 

PHP Fatal error: Class 'EntityAPIControllerExportable' not found in ...sites/all/modules/rules/includes/rules.core.inc on line 11

drush dl registry_rebuild

drush cc all

drush rr

drush st - состояние сайтаdrush cc - выдаст запрос на какой кэш чистить
drush updb - update.php
drush sql-drop - убить все таблицы в базе
drush fl - список фич
drush fd машинное_имя_фичи - посмотреть feature diff
drush fra - реверт всех фич
drush fr машинное_имя_фичи - реверт фичи
drush fu машинное_имя_фичи - обновить код фичи
drush uli - одноразовая ссылка на вход админа
drush uli user_id или user_email - одноразовая ссылка на конкретного юзера
drush pm-list --status=enabled - список включенных модулей
drush vget - все переменные сайта
drush vget название_или_часть_названия_переменной - не все переменные сайта
drush vset название_переменной новое_значение - установить переменную
drush php-eval "variable_set('some_roles_roles', array('authenticated user'));" - установить переменную если она не строка
drush vdel название_переменной - убить переменную