Polecenie Drush, aby wyświetlić aliasy?

34

Czy istnieje drushpolecenie pokazujące istniejące aliasy? Niektórzy Googling niczego nie zauważyli.

użytkownik1359
źródło
$ drush site-alias @self
monymirza
'drush sa @self --full --with-db --with-opcjonalne' wygeneruje szablon, który możesz dołączyć do ~ / .drush / aliases.drushrc.php do dalszego użytku. Nie zapomnij zmienić klucza „self” w tabeli unikalną nazwą aliasu dla swojej witryny.
Interdruper

Odpowiedzi:

47

Możesz użyć tego w terminalu

drush sa

Na przykład na moim serwerze deweloperskim:

- drush sa
@8080
@commons_3_dev
@none
@w2

Aliasy są ustawione w pliku o nazwie aliases.drushrc.php. Dla mnie znajduje się to w / usr / local / share / drush /. W zależności od tego, w jaki sposób zainstalowałeś Drusha i od tego, w jakiej dystrybucji jesteś, może się to różnić.

W ten sposób możesz skonfigurować aliasy w tym pliku

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

Aby uzyskać więcej zabawy, możesz połączyć je w kopie zapasowe dla całego serwera. Na przykład wykonuję dużą kopię zapasową wszystkich takich aliasowanych witryn

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

Podejmowane indywidualnie

 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

Aby znaleźć ścieżkę i inne informacje, użyj trochę pipowania:

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

Aby zawęzić listę do znalezienia ścieżek:

    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 

aktualizacja

Trochę za późno, ale chciałem powiedzieć, żeby nie zapomnieć drush @sites st. Wierzę, że @sitesparametr będzie działał na wszystko, co znajdzie się w folderze witryn. Myśleć

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
Stóg
źródło
sa
Przydałoby się
1
Spróbuj drush @alias st (status)
Rick
tak, ale nie chcę sprawdzać każdego aliasu indywidualnie, aby sprawdzić, czy tego właśnie szukam. Mam do czynienia z wieloma pseudonimami w środowisku z wieloma witrynami i wieloma użytkownikami. Ten, którego chcę, może nawet nie istnieć!
user1359,
4
Spróbuj tego: drush sa | xargs -I {} sh -c "drush {} st"
Rick
1
Bądź kreatywny dzięki fajkom i grep. Czasami najprostsze połączone polecenia bash dostarczą ci wspaniałych informacji.
Rick,
2

Jeśli jesteś podobny do mnie, chcesz też wszystkie szczegóły…

Spróbuj drush site-alias --tablelub skrót drush sa --table.

Sprawdź GitHub lub drush topic aliaseswięcej informacji.

Rob Colburn
źródło
Wiem, że to starożytny wątek, ale jeśli ktoś wyląduje tutaj przez Google - parametr nie jest - tabela, ale drush sa --format=table. Aby zaoszczędzić trochę na podnoszeniu ciężarów, możesz użyć opcji --fields i --field-labels = 0, aby zachować zwięzłość.
Dan Shumaker
@ DanShumaker Nie pracowałem nad Drupalem od kilku lat. Podaj nową odpowiedź, a ja głosuję za Twoją.
Rob Colburn,