Comando Drush per mostrare gli alias?


34

Esiste un drushcomando per mostrare gli alias esistenti? Alcuni googling non hanno mostrato nulla.


$ drush site-alias @self
monymirza,

'drush sa @self --full --with-db --with-optional' genererà un modello che puoi aggiungere a ~ / .drush / aliases.drushrc.php per un ulteriore uso. Non dimenticare di modificare la chiave "self" nella tabella con un nome alias univoco per il tuo sito.
Interdruper

Risposte:


47

Puoi usarlo nel terminale

drush sa

Ad esempio sul mio server di sviluppo:

- drush sa
@8080
@commons_3_dev
@none
@w2

Gli alias sono impostati in un file chiamato aliases.drushrc.php. Per me questo si trova in / usr / local / share / drush /. A seconda di come hai installato Drush e su quale distro stai facendo questo potrebbe differire.

È possibile impostare gli alias in questo modo all'interno di quel file

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

Per maggiore divertimento, è possibile raggrupparli insieme per backup a livello di server. Ad esempio, faccio un grosso backup su tutti i siti con alias come questo

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

Preso singolarmente

 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

Per trovare il percorso e altre informazioni, usa un po 'di pipping:

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

Per restringere il campo alla ricerca di percorsi:

    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 

aggiornare

Un po 'in ritardo, ma volevo dire di non dimenticare drush @sites st. Credo che il @sitesparametro agirà su tutto ciò che si trova nella cartella dei siti. Pensare

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 

Sarebbe utile anche sapere quale percorso del filesystem sa
associa

1
Prova drush @alias st (per lo stato)
Rick,

sì, ma non voglio controllare ogni alias singolarmente per vedere se è quello che sto cercando. Ho a che fare con molti alias in un ambiente multi-sito e multi-utente. Quello che voglio potrebbe anche non esistere!
user1359

4
Prova questo: drush sa | xargs -I {} sh -c "drush {} st"
Rick,

1
Diventa creativo con pipe e grep. A volte i comandi bash più semplici messi insieme ti daranno alcune informazioni meravigliose.
Rick,

2

Se sei come me, vuoi anche tutti i dettagli ...

Prova drush site-alias --tableo il collegamento drush sa --table.

Controlla GitHub o drush topic aliasesper ulteriori informazioni.


So che questo è un thread antico ma se qualcuno arriva qui tramite Google - il parametro non è - ma stabile drush sa --format=table. E per risparmiare un po 'di sollevamento pesi, puoi usare le opzioni --fields e --field-labels = 0 per mantenere le cose concise.
Dan Shumaker,

@DanShumaker Non lavoro su Drupal da alcuni anni. Sentiti libero di dare una nuova risposta e voterò la tua.
Rob Colburn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.