,

Drush обновления сайтов (dev и live) из командной строки

Допустим мы имеем сайт ( придумаем ему синоним @SITE) в двух и более редакциях, например:

1) Сайт в интернете видят все люди - @site.live
2) Сайт на локальной машине - @site.dev

обновляем файлы сайтов (откуда куда):

drush rsync @site.dev @site.live

обновляем только файловый контент сайтов (откуда куда)

drush rsync @site.dev:%files @site.live:%files

обновляем базы данных (при дополнительных параметрах, можно исключать/включать таблицы) (откуда куда)

drush sql-sync --no-cache @site.dev @site.live

Хотим посмотреть список включенных модулей удаленного сайта, и включить модули: admin_menu authcache

drush @site.live pml --status=enabled
drush @site.live en admin_menu authcache -y

Через drush мы экономим много времени на эти операции, если операции выполнять вручную: ставить галочки, копировать файлы, писать свои скрипты

Теперь опишу как мы обозначаем синонимы, оригинал примера тут http://drupalcontrib.org/api/drupal/contributions--drush--examples--exam… 1. Создаем файл site.aliases.drushrc.php в любом из каталогов ~/.drush, /etc/drush, там где установлен drush, либо прописываем дополнительный путь для каталога синонимов 2. Приведу пример своего файла в котором описан сайт с двумя версиями live - живой сайт на хостинге, dev - сайт на локальной машине

<?php
$aliases['dev'] = array(
'root' => '/var/www/site/',
'uri' => 'www.mysite.local',
);

$aliases['live'] = array(
'root' => '/home/user/projects/mysite',
'uri' => 'site.ru',
'remote-host' => 'mysite.ru',
'remote-user' => 'user-hosting',
'ssh-options' => '-p2222',

'path-aliases' => array(
      '%drush' => '/home/user/bin/drush/',
      '%drush-script' => '/home/user/bin/drush/drush',
      #'%root' => '/home/user/projects/site/sites/',
      '%dump-dir' => '/home/user/projects/site/dump/',
      '%dump' => '/home/user/projects/site/dump/sro.sql', 
      #'%files' => 'sites/site.com/files',
),
);
?>