Команда Drush, чтобы показать псевдонимы?

34

Есть ли drushкоманда, чтобы показать существующие псевдонимы? Некоторый Гугл ничего не нашел.

user1359
источник
$ drush site-alias @self
monymirza
'drush sa @self --full --with-db --with-option' создаст шаблон, который вы можете добавить в ~ / .drush / aliases.drushrc.php для дальнейшего использования. Не забудьте заменить ключ 'self' в таблице уникальным псевдонимом для вашего сайта.
Interdruper

Ответы:

47

Вы можете использовать это в терминале

drush sa

Например на моем сервере разработчиков:

- drush sa
@8080
@commons_3_dev
@none
@w2

Псевдонимы задаются в файле с именем aliases.drushrc.php. Для меня это находится в / usr / local / share / drush /. В зависимости от того, как вы установили Drush и на каком дистрибутиве вы находитесь, это может отличаться

Вы можете установить псевдонимы таким образом в этом файле

$aliases['8080'] = array(
'uri'=>'server.com:8080',
'root'=>'/var/www/html_webtest2',
);

$aliases['w2'] = array(
'uri'=>'webtest2.server.com.edu',
'root'=>'/var/www/html_webtest2',
);

$aliases['commons_3_dev'] = array(
'uri'=>'yourserver.com/c3d7/',
'root'=>'/var/www/html_commons_3_dev',
);

Для большего удовольствия вы можете объединить их в цепочку для резервного копирования всего сервера. Например, я делаю большую резервную копию для всех сайтов с псевдонимами, как это

 drush sa | egrep "(@|default)" | egrep -v "(@none|@self) | xargs -L1 drush arb

Взятые индивидуально

 drush sa  # list site aliases
 | egrep "(@|default)"  # include default and any line containing a @ mark
 | egrep -v "(@none|@self)" # remove any lines with @none or @self 
 | xargs -L1 drush arb # with each line run drush archive-backup

Чтобы найти путь и другую информацию, используйте немного о 'pipping:

drush sa | xargs -I {}  sh -c "echo {}; drush {} st"

Чтобы сузить его до поиска путей:

    drush sa | xargs -I {}  sh -c "echo {}; drush {} st" | egrep "(@|path)"
@8080
 Site path                     :  sites/8080.webtest2               
 File directory path           :  sites/8080.webtest2/files         
 Private file directory path   :  /var/www/drupal_private_files                   
@commons_3_dev
 Site path              :  sites/default                                          
 File directory path    :  sites/default/files                                    
@none
@w2
 Site path              :  sites/default                                          
 File directory path    :  sites/default/files 

Обновить

Немного поздно, но я хотел сказать, не забывайте drush @sites st. Я считаю, что @sitesпараметр будет действовать на все, что находится в папке сайтов. Считать

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
стог
источник
Также было бы полезно узнать, на какой путь файловой системы эти сайты отображаются из saкоманды :)
user1359
1
Попробуйте drush @alias st (для статуса)
Рик
да, но я не хочу проверять каждый псевдоним в отдельности, чтобы увидеть, ищу ли я его. Я имею дело со многими псевдонимами в многопользовательской, многопользовательской среде. Та, которую я хочу, может даже не существовать!
user1359
4
Попробуйте это: drush sa | xargs -I {} sh -c "drush {} st"
Рик
1
Проявите творческий подход с трубами и grep. Иногда самые простые команды bash, соединенные вместе, дают вам замечательную информацию.
Рик
2

Если вы похожи на меня, вам нужны все детали ...

Попробуйте drush site-alias --tableили ярлык drush sa --table.

Проверьте GitHub или drush topic aliasesдля получения дополнительной информации.

Роб Колберн
источник
Я знаю, что это древняя нить, но если кто-то приземлится здесь через Google - параметр не --table но drush sa --format=table. И чтобы сэкономить немного веса, вы можете использовать опции --fields и --field-label = 0, чтобы сохранить краткость.
Дэн Шумейкер
@DanShumaker Я не работал в Drupal уже несколько лет. Не стесняйтесь, чтобы дать новый ответ, и я буду голосовать ваш.
Роб Колберн