Допустим мы имеем сайт ( придумаем ему синоним @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', ), ); ?>