Основные команды drush
Команда up бэкапит текущую версию модуля, выкачивает на его место новую, выполняет update.php и очищает кэш. Примеры ниже.
Обновление одного модуля:
# drush up module_name
Обновление нескольких модулей:
# drush up module_name1 module_name2
Обновление ядра:
# drush up drupal
Обновление всех модулей у которых есть новые версии:
# drush up
Обновление модуля до определённой версии:
# drush dl module_name --select
# drush updb
drush - это интерфейс командной строки UNIX для доступа к вашему сайту на Drupal.
Справку о командах и опциях вызова drush можно получить так:
drush help
Если вы знаете команду, то для получения её параметров введите её вслед за help.
drush help up
Настройка и расширения drush
Скопируйте в свою домашнюю директорию шаблон файла настройки drush/examples/example.drushrc.php из предварительно скаченного архива модуля (например, по ftp) в файл .drushrc.php в корень вашего аккаунта.
Чтобы запускать drush под пользователем 1 установите:
// always run as user 1
$options['u'] = 1;
Чтобы видеть пароль БД в выдаче команды status вы можете установить:
// Show database passwords in 'status' and 'sql-conf' commands
$options['show-passwords'] = 1;
Вы можете раскомментировать предлагаемые заготовки и установить другие необходимые вам параметры.
Как ставить расширения drush
1. Создайте в своей домашней директории каталог .drush
cd
mkdir .drush
2. Скачивайте необходимые вам расширения drush
Например, для drush_make команда будет такой:
drush dl drush_make
Основные команды и использование drush
Для работы с drush удобнее сначала перейти в директорию вашего сайта.
cd ~/domains/example.com
Если ваш сайт находится на сервере, где файлы хранятся в директория public_html, её тоже надо указать.
cd ~/domains/example.com/public_html
Теперь можно вводить команды и осуществлять различные операции с сайтом.
Получение информации о сайте и всех проектах модулей или тем
В первую очередь посмотрите состояние вашего сайта командой status (сокращенно st).
drush status
Если в данной директории у вас организован мультисайтинг, то для того, чтобы посмотреть состояние сайта, отличного от сайта по умолчанию default, нужно использовать ключ --uri=http://example.com (сокращенно -l http://example.com).
drush --uri=http://example.org status
или
drush -l http://example.org status
Если вы находитесь в месте, отличном о корневой директории сайта, то указать её можно используя ключ --root=
drush -r ~/domains/example.com status
С опцией --root нужно указывать полный путь.
drush --root=/home/u9999/domains/example.com status
В drush 3.0 можно использовать следующий синтаксис:
drush ~/domains/example.com#default status
drush ~/domains/example.com#example.org status
Получение информации о всех проектах модулей или тем
Для того, чтобы получить информацию о всех ваших модулях и темах нужно ввести команду pm-list (сокращенно sm).
drush sm
Получение информации о проекте модуля или темы
Для того, чтобы получить информацию о конкретных модулях и темах нужно ввести команду pm-info.
drush pm-info drupal
Получение информации о версиях проектов модулей или тем
Для получение информации о версиях модуля используйте команду pm-releases (info устаревшая форма).
Команда используется для того, чтобы решить какую версию модуля устанавливать или обновлять.
Для того, чтобы использовать команду pm-releases должен быть установлен модуль update.
Если он у вас не установлен, то установить его можно следующей командой:
drush en update
Посмотреть версии модуля backup_migrate:
drush pm-releases backup_migrate
Скачивание и установка проектов модулей и тем
Для того, чтобы скачать один модуль, тему или список нужно ввести команду pm-download (сокращенно dl).
drush dl module1 module2 theme1
Например, команда:
drush dl cck zen
загружает текущие рекомендуемые версии модуля cck и темы zen.
Скачиваем dev версию модуля backup_migrate.
drush dl backup_migrate-6.x-2.x-dev
Для того, чтобы скачивать модули в директории, отличные от принятых по умолчанию, используется опция --destination=
Для того, чтобы установить модули или темы используйте команду pm-enable (сокращенно en).
drush en cck zen
Можно использовать * в конце имени для формирования списка модулей.
Также будут установлены и зависимые модули.
Для того, чтобы выключить модули или темы используйте команду pm-disable (сокращенно dis).
drush dis cck zen
Можно использовать * в конце имени для формирования списка модулей.
Также будут выключены и зависимые модули.
Скачивание дистрибутива drupal
Для того, чтобы скачать текущюю версию drupal можно воспользоваться командами:
drush dl
или
drush dl drupal
Пример установки дистрибутива в директорию вашего сайта.
cd ~/domains/example.com
drush dl drupal
cp -a drupal-6.17/* .
cp -a drupal-6.17/.htaccess .
rm -rf drupal-6.17
drush status
Обновление проектов модулей, тем pm-update (сокращенно up)
Для того, чтобы обновлять проекты должен быть установлен модуль update.
Если он у вас не установлен, то установить его можно следующей командой:
drush en update
Для того, чтобы обновить один модуль, тему или список нужно ввести команду pm-update (сокращенно up).
drush up module1 module2 theme1
Для того, чтобы обновить drupal до последней стабильной версии, нужно ввести команду:
drush up drupal
Перед тем как сделать обновление команда просматривает и выводит статус всех ваших проектов а также сохраняет предыдущие версии в директории backup в корне вашего сайта.
Этот путь можно изменить, например, для сохранения в корень вашего домашнего каталога с помощью опции --backup-dir=
Команда при необходимости сама осуществляет обновление базы данных.
Обновление кода проектов модулей, тем pm-updatecode (сокращенно upc)
Команда обновляет код проекта до последней стабильной версии. База данных не обновляется.
drush upc token
Для того, чтобы обновить базу данных самостоятельно, нужно ввести команду updatedb (сокращенно updb).
Действие команды эквивалентно запуску update.php.
drush updb
Удаление модулей, тем pm-uninstall
drush pm-uninstall module1 module2
Очистка кэша
Для того, чтобы очистить кэш, нужно ввести команду cache-clear (сокращенно cc).
drush cc
Enter a number to choose which cache to clear.
[0] : Cancel
[1] : all
[2] : theme
[3] : menu
[4] : css+js
2
Очистить весь кэш:
drush cc all
Как делать бэкапы с помощью drush
Для начала введите команду drush sql-conf чтобы посмотреть имя вашей базы данных и другие параметры соединения.
drush sql-conf
Дамп базы данных
Бэкап текущей базы данных выполняется командой drush sql-dump.
Имя файла дампа указывается в опции --result-file=
Если вы создали в своей домашней директории файл .drushrc.php, то вы можете использовать опцию --skip-tables-key=common чтобы не делать дамп некоторых таблиц кэша и других, указанных в настройках.
drush sql-dump --result-file=~/db.example.com.sql --skip-tables-key=common
Дамп в файл архива db.example.com.sql.gz в корне вашей директории.
drush sql-dump --skip-tables-key=common | gzip > ~/db.example.com.sql.gz
Дамп в файл архива db.example.com.sql.bz2 в корне вашей директории.
drush sql-dump --skip-tables-key=common | bzip2 > ~/db.example.com.sql.bz2
Восстановление базы данных из дампа
Для восстановления базы данных из дампа используется команда drush sql-connect для получения параметров доступа к базе данных.
Восстановление базы данных из файла дампа db.example.com.sql в корне вашей директории.
cat ~/db.example.com.sql | `drush sql-connect`
Восстановление базы данных из файла архива дампа db.example.com.sql.gz в корне вашей директории.
gunzip < ~/db.example.com.sql.gz | `drush sql-connect`
Восстановление базы данных из файла архива дампа db.example.com.sql.bz2 в корне вашей директории.
bunzip2 < ~/db.example.com.sql.bz2 | `drush sql-connect`
Восстановление базы данных из файла архива дампа db.example.com.sql.zip в корне вашей директории.
unzip -p ~/db.example.com.sql.zip | `drush sql-connect`
Восстановление базы данных из файла дампа db.example.com.sql в корне вашей директории с использованием интерактивного интерфейса drush к mysql команда sql-cli (сокращенно sqlc).
drush sqlc
source ~/db.example.com.sql
\q
Команда drush sqlc позволяет выполнять и другие запросы на языке SQL к вашей базе данных.
Рекомендации
Создайте в своей домашней директории каталог, где вы будете хранить ваши бэкапы, например, /backup.
cd
mkdir backup
Во всех примерах используйте директорию backup для сохранения дампов:
~/backup/db.example.com.sql.gz
Для отметки времени и даты создания дампа вы можете использовать следующий способ представления имени дампа:
~/backup/db.example.com-`date '+%d-%m-%Y-%H-%M-%S'`.sql.gz