¿Comando drush para mostrar alias?

34

¿Hay un drushcomando para mostrar los alias existentes? Algunos Google no descubrieron nada.

usuario1359
fuente
$ drush site-alias @self
monymirza
'drush sa @self --full --with-db --with-optional' generará una plantilla que puede agregar a ~ / .drush / aliases.drushrc.php para su uso posterior. No olvide cambiar la clave 'self' en la tabla por un nombre de alias único para su sitio.
Interdruper

Respuestas:

47

Puedes usar esto en la terminal

drush sa

Por ejemplo en mi servidor de desarrollo:

- drush sa
@8080
@commons_3_dev
@none
@w2

Los alias se establecen en un archivo llamado aliases.drushrc.php. Para mí, esto se encuentra en / usr / local / share / drush /. Dependiendo de cómo instaló Drush y en qué distribución esté, esto puede diferir.

Puede configurar alias de esta manera dentro de ese archivo

$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 más diversión, puede encadenarlos para realizar copias de seguridad en todo el servidor. Por ejemplo, hago una gran copia de seguridad de todos los sitios con alias como este

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

Tomado 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 la ruta y otra información, use un poco de pipping:

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

Para reducirlo a encontrar caminos:

    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 

actualizar

Un poco tarde, pero quería decir que no te olvides drush @sites st. Creo que el @sitesparámetro actuará en todo lo que se encuentre en la carpeta de sitios. Pensar

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
Almiar
fuente
Sería útil también para saber qué camino sistema de archivos se asignan a estos sitios desde el sacomando :)
user1359
1
Prueba drush @alias st (para conocer el estado)
Rick
Sí, pero no quiero tener que verificar cada alias individualmente para ver si es el que estoy buscando. Estoy lidiando con muchos alias en un entorno multisitio y multiusuario. ¡El que quiero puede que ni siquiera exista!
usuario1359
44
Prueba esto: drush sa | xargs -I {} sh -c "drush {} st"
Rick
1
Sea creativo con pipas y grep. A veces, los comandos bash más simples combinados te darán información maravillosa.
Rick
2

Si eres como yo, también quieres todos los detalles ...

Prueba drush site-alias --tableo el atajo drush sa --table.

Consulte GitHub o drush topic aliasespara más información.

Rob Colburn
fuente
Sé que este es un hilo antiguo, pero si alguien llega aquí a través de Google, el parámetro no es --table pero drush sa --format=table. Y para ahorrarle un poco de levantamiento de pesas, puede usar las opciones --fields y --field-labels = 0 para mantener las cosas concisas.
Dan Shumaker
@DanShumaker No he trabajado en Drupal en algunos años. Siéntase libre de dar una nueva respuesta, y yo votaré la suya.
Rob Colburn