Comando Drush para mostrar aliases?

34

Existe um drushcomando para mostrar aliases existentes? Alguns usuários do Google não apareceram.

user1359
fonte
$ drush site-alias @self
monymirza
'drush sa @self --full --with-db --with-optional' gerará um modelo que você pode anexar a ~ / .drush / aliases.drushrc.php para uso posterior. Não se esqueça de alterar a chave 'self' na tabela por um nome de alias exclusivo para o seu site.
Interdruper 30/08/16

Respostas:

47

Você pode usar isso no terminal

drush sa

Por exemplo, no meu servidor dev:

- drush sa
@8080
@commons_3_dev
@none
@w2

Os aliases são definidos no arquivo chamado aliases.drushrc.php. Para mim, isso está localizado em / usr / local / share / drush /. Dependendo de como você instalou o Drush e de qual distro você está, isso pode ser diferente.

Você pode configurar aliases dessa maneira dentro desse arquivo

$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',
);

Para mais diversão, você pode encadear isso para backups em todo o servidor. Por exemplo, faço um grande backup de todos os sites com alias como este

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

Tomadas individualmente

 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

Para encontrar o caminho e outras informações, use um pouco de pipping:

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

Para reduzi-lo a encontrar caminhos:

    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 

atualizar

Um pouco tarde, mas eu queria dizer não se esqueça drush @sites st. Acredito que o @sitesparâmetro atuará em tudo o que for encontrado na pasta sites. Pensar

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
Rick
fonte
Seria útil também para saber o que filesystem esses sites são mapeados para a partir do sacomando :)
user1359
11
Tente Drush @alias st (para status)
Rick
Sim, mas não quero verificar cada alias individualmente para ver se é o que estou procurando. Estou lidando com muitos aliases em um ambiente de vários sites e vários usuários. O que eu quero pode nem existir!
user1359
4
Experimente o seguinte: drush sa | xargs -I {} sh -c "drush {} st"
Rick
11
Seja criativo com pipes e grep. Às vezes, os comandos mais simples do bash combinados fornecem informações maravilhosas.
Rick
2

Se você é como eu, também quer todos os detalhes ...

Tente drush site-alias --tableou o atalho drush sa --table.

Verifique o GitHub ou drush topic aliasespara mais informações.

Rob Colburn
fonte
Eu sei que este é um tópico antigo, mas se alguém chegar aqui via google - o parâmetro não é --table, mas drush sa --format=table. E para economizar um pouco de levantamento de peso, você pode usar as opções --fields e --field-labels = 0 para manter as coisas concisas.
21718 Dan Shumaker
@ DanShumaker Não trabalho no Drupal há alguns anos. Sinta-se à vontade para dar uma nova resposta e eu votarei na sua.
Rob Colburn 4/18