Perintah drush untuk menampilkan alias?

34

Apakah ada drushperintah untuk menampilkan alias yang sudah ada? Beberapa Googling tidak menemukan apa pun.

pengguna1359
sumber
$ drush site-alias @self
monymirza
'drush sa @self --full --with-db --with-opsional' akan menghasilkan templat yang dapat Anda tambahkan ke ~ / .drush / aliases.drushrc.php untuk penggunaan lebih lanjut. Jangan lupa untuk mengubah kunci 'diri' di tabel dengan nama alias unik untuk situs Anda.
Interdruper

Jawaban:

47

Anda dapat menggunakan ini di terminal

drush sa

Sebagai contoh di server dev saya:

- drush sa
@8080
@commons_3_dev
@none
@w2

Alias ​​diatur dalam file yang disebut aliases.drushrc.php. Bagi saya ini terletak di / usr / local / share / drush /. Bergantung pada bagaimana Anda menginstal Drush dan distro yang Anda gunakan mungkin berbeda.

Anda dapat mengatur alias dengan cara ini di dalam file itu

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

Untuk lebih menyenangkan, Anda dapat menyatukan ini bersama untuk cadangan di seluruh server. Sebagai contoh, saya melakukan back up besar ke semua situs alias seperti ini

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

Diambil secara individual

 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

Untuk menemukan jalur dan info lainnya, gunakan sedikit pipping:

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

Untuk mempersempitnya untuk menemukan jalur:

    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 

memperbarui

Sedikit terlambat tapi saya ingin mengatakan jangan lupa drush @sites st. Saya percaya @sitesparameter akan bertindak pada semua yang ditemukan di bawah folder situs. Berpikir

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 
Rick
sumber
Akan berguna juga untuk mengetahui path sistem file apa yang dipetakan oleh situs-situs ini dari saperintah :)
user1359
1
Coba drush @alias st (untuk status)
Rick
ya, tapi saya tidak mau harus memeriksa setiap alias secara terpisah untuk melihat apakah itu yang saya cari. Saya berurusan dengan banyak alias di lingkungan multi-situs, multi-pengguna. Yang saya inginkan mungkin tidak ada!
user1359
4
Coba ini: drush sa | xargs -I {} sh -c "drush {} st"
Rick
1
Berkreasilah dengan pipa dan grep. Terkadang perintah bash paling sederhana yang dirangkai bersama akan memberi Anda informasi yang bagus.
Rick
2

Jika Anda seperti saya, Anda juga ingin semua detailnya ...

Coba drush site-alias --tableatau jalan pintas drush sa --table.

Periksa GitHub atau drush topic aliasesuntuk info lebih lanjut.

Rob Colburn
sumber
Saya tahu ini adalah utas kuno tetapi jika ada yang mendarat di sini melalui google - parameternya bukan --tabel tetapi drush sa --format=table. Dan untuk menghemat beberapa angkat berat awk Anda dapat menggunakan opsi --fields dan --field-label = 0 untuk menjaga semuanya tetap ringkas.
Dan Shumaker
@DanShumaker Saya belum bekerja di Drupal dalam beberapa tahun sekarang. Jangan ragu untuk memberikan jawaban baru, dan saya akan menjawab pertanyaan Anda.
Rob Colburn