Drush-Befehl zum Anzeigen von Aliasen?

34

Gibt es einen drushBefehl, um vorhandene Aliase anzuzeigen? Einige Googler haben nichts aufgedeckt.

user1359
quelle
$ drush site-alias @self
Monymirza
'drush sa @self --full --with-db --with-optional' generiert eine Vorlage, die Sie zur weiteren Verwendung an ~ / .drush / aliases.drushrc.php anhängen können. Vergessen Sie nicht, den Schlüssel "self" in der Tabelle durch einen eindeutigen Aliasnamen für Ihre Site zu ändern.
Interdruper

Antworten:

47

Sie können dies im Terminal verwenden

drush sa

Zum Beispiel auf meinem Entwickler-Server:

- drush sa
@8080
@commons_3_dev
@none
@w2

Die Aliase werden in der Datei aliases.drushrc.php festgelegt. Für mich befindet sich dies in / usr / local / share / drush /. Abhängig davon, wie Sie Drush installiert haben und auf welcher Distribution Sie sich befinden, kann dies unterschiedlich sein.

Sie können Aliase auf diese Weise in dieser Datei einrichten

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

Für mehr Spaß können Sie diese für serverweite Sicherungen verketten. Zum Beispiel mache ich einen großen Back-up für alle Alias-Sites wie diese

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

Einzeln genommen

 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

Um den Pfad und andere Informationen zu finden, verwenden Sie ein bisschen Pipping:

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

Eingrenzen, um Pfade zu finden:

    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 

aktualisieren

Ein bisschen spät, aber ich wollte sagen, vergessen Sie nicht drush @sites st. Ich glaube, dass der @sitesParameter auf alles wirkt, das unter dem Aufstellungsortordner gefunden wird. Überlegen

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
Rick
quelle
Es wäre auch praktisch zu wissen, auf welchen Dateisystempfad diese Sites vom saBefehl aus
verweisen
1
Versuchen Sie drush @ Alias ​​st (für den Status)
Rick
Ja, aber ich möchte nicht jedes Alias ​​einzeln überprüfen müssen, um festzustellen, ob es das ist, wonach ich suche. Ich habe es mit vielen Aliasen in einer Umgebung mit mehreren Standorten und mehreren Benutzern zu tun. Der, den ich will, existiert vielleicht gar nicht!
user1359
4
Versuchen Sie dies: drush sa | xargs -I {} sh -c "drush {} st"
Rick
1
Sei kreativ mit Pipes und Grep. Manchmal liefern die einfachsten Bash-Befehle, die aneinandergereiht sind, wunderbare Informationen.
Rick
2

Wenn du wie ich bist, willst du auch alle Details ...

Versuchen Sie es drush site-alias --tableoder die Verknüpfung drush sa --table.

Überprüfen Sie GitHub oder drush topic aliasesfür weitere Informationen.

Rob Colburn
quelle
Ich weiß, das ist ein uralter Thread, aber wenn hier jemand über Google landet - der Parameter ist aber nicht --table drush sa --format=table. Und um Ihnen ein paar Probleme beim Gewichtheben zu ersparen, können Sie die Optionen --fields und --field-labels = 0 verwenden, um die Dinge kurz zu halten.
Dan Shumaker
@DanShumaker Ich habe seit einigen Jahren nicht mehr an Drupal gearbeitet. Fühlen Sie sich frei, eine neue Antwort zu geben, und ich stimme Ihrer zu.
Rob Colburn