Обновление модулей Drupal 7 из командной строки посредством drush

Обновлять модули из командной строки – одно удовольствие. Например, мой сайт лежит у провайдера в папке: /home/user/domains/debuntu.ru/. Папка для бэкапов лежит в: /home/user/backup/.  

Переходим в папку сайта:

$ cd /home/user/domains/debuntu.ru/

Переводим сайт в режим обслуживания:

$ drush variable-set maintenance_mode 1

Очищаемся:

$ drush cache-clear all

Архивируем всё. Команда date, вставляющая текущую дату и время в имя архива, обрамлена обратными кавычками:

$ drush archive-dump --destination=../../backup/debuntu.ru_`date "+%Y%m%d-%H%M%S"`.tar.gz

или даже так, с вычленением имени сайта из пути к текущему каталогу (во FreeBSD по-умолчанию активирована командная оболочка, отличная от bash, поэтому сначала нужно запустить bash):

$ bash -c 'drush archive-dump --destination=../../backup/`basename \`pwd\``_`date "+%Y%m%d-%H%M%S"`.tar.gz'

Освежаемся:

$ drush pm-refresh

Обновляемся:

$ drush pm-update

Обычно, если после обновления модулей требуется обновление базы данных, то это происходит автоматически. Иначе делаем вручную:

$ drush updatedb

Выходим из режима обслуживания:

$ drush variable-set maintenance_mode 0

Так делаем для каждого сайта.

Кстати, у некоторых приведённых команд есть более короткое написание.