คำสั่ง Drush แสดงชื่อแทนหรือไม่


34

มีdrushคำสั่งให้แสดงนามแฝงที่มีอยู่หรือไม่? Googling บางคนไม่ได้ทำอะไรเลย


$ drush site-alias @self
monymirza

'drush sa @ ตนเอง --full --with-db - ด้วยตัวเลือก' จะสร้างเทมเพลตที่คุณสามารถผนวกเข้ากับ ~ / .drush / aliases.drushrc.php เพื่อใช้งานต่อไป อย่าลืมเปลี่ยนคีย์ 'ตนเอง' ในตารางด้วยชื่อนามแฝงที่ไม่ซ้ำสำหรับเว็บไซต์ของคุณ
Interdruper

คำตอบ:


47

คุณสามารถใช้สิ่งนี้ใน terminal

drush sa

ตัวอย่างเช่นบนเซิร์ฟเวอร์ dev ของฉัน:

- drush sa
@8080
@commons_3_dev
@none
@w2

นามแฝงตั้งอยู่ในไฟล์ชื่อ aliases.drushrc.php สำหรับฉันนี้ตั้งอยู่ใน / usr / local / share / drush / ทั้งนี้ขึ้นอยู่กับวิธีที่คุณติดตั้ง Drush และ Distro ของคุณในเรื่องนี้อาจแตกต่างกัน

คุณสามารถตั้งค่านามแฝงในรูปแบบนี้ภายในไฟล์นั้น

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

เพื่อความสนุกสนานยิ่งขึ้นคุณสามารถเชื่อมโยงสิ่งเหล่านี้เข้าด้วยกันเพื่อการสำรองข้อมูลทั่วทั้งเซิร์ฟเวอร์ ตัวอย่างเช่นฉันสำรองข้อมูลไซต์ที่มีนามแฝงเช่นนี้ทั้งหมด

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

ถ่ายทีละตัว

 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

ในการค้นหาเส้นทางและข้อมูลอื่น ๆ ให้ใช้การจิ้มบิต:

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

หากต้องการ จำกัด ให้แคบลงเพื่อค้นหาเส้นทาง:

    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 

ปรับปรุง

สายไปนิด drush @sites stแต่ผมอยากจะบอกว่าอย่าลืมเกี่ยวกับ ฉันเชื่อว่า@sitesพารามิเตอร์จะดำเนินการกับทุกสิ่งที่พบในโฟลเดอร์ไซต์ คิด

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

มันจะมีประโยชน์เช่นกันหากรู้ว่าระบบไฟล์พา ธ ของไซต์เหล่านี้จับคู่อะไรจากsaคำสั่ง :)
user1359

1
ลอง drush @alias st (สำหรับสถานะ)
Rick

ใช่ แต่ฉันไม่ต้องการตรวจสอบชื่อแทนแต่ละรายการเพื่อดูว่าเป็นชื่อที่ฉันต้องการหรือไม่ ฉันกำลังจัดการกับนามแฝงจำนวนมากในสภาพแวดล้อมแบบหลายไซต์ผู้ใช้หลายคน คนที่ฉันต้องการอาจไม่มีอยู่จริง!
user1359

4
ลองสิ่งนี้: drush sa | xargs -I {} sh -c "drush {} st"
Rick

1
ใช้ความคิดสร้างสรรค์กับท่อและ grep บางครั้งคำสั่งทุบตีที่ง่ายที่สุดที่พันกันจะทำให้คุณได้รับข้อมูลที่น่าอัศจรรย์
Rick

2

หากคุณเป็นเหมือนฉันคุณต้องการรายละเอียดทั้งหมดด้วย ...

ลองหรือทางลัดdrush site-alias --tabledrush sa --table

ตรวจสอบGitHubหรือdrush topic aliasesสำหรับข้อมูลเพิ่มเติม


ฉันรู้ว่านี้เป็นด้ายโบราณ แต่ถ้าทุกคนในดินแดนที่นี่ผ่านทาง Google - พารามิเตอร์ไม่ --table drush sa --format=tableแต่ และเพื่อช่วยให้คุณยกน้ำหนักได้อย่างรวดเร็วคุณสามารถใช้ตัวเลือก --fields และ --field-labels = 0 ตัวเลือกเพื่อทำให้สิ่งต่างๆกระชับ
Dan Shumaker

@DanShumaker ฉันไม่ได้ทำงานใน Drupal ในไม่กี่ปีที่ผ่านมา รู้สึกอิสระที่จะให้คำตอบใหม่และฉันจะ upvote ของคุณ
Rob Colburn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.