उपनाम दिखाने के लिए ड्रश कमांड?


34

क्या drushमौजूदा उपनाम दिखाने की आज्ञा है? कुछ Googling ने कुछ भी नहीं किया।


$ drush site-alias @self
मॉनमिरजा

'drush sa @self --full --with-db --with- ऑप्शनल' एक टेम्पलेट उत्पन्न करेगा जिसे आप आगे उपयोग के लिए ~ / /drush / aliases.drushrc.php पर अपील कर सकते हैं। अपनी साइट के लिए एक अद्वितीय उपनाम नाम द्वारा तालिका में कुंजी 'स्व' को बदलना न भूलें।
इंटरड्यूपर

जवाबों:


47

आप इसका उपयोग टर्मिनल में कर सकते हैं

drush sa

मेरे देव सर्वर पर उदाहरण के लिए:

- drush sa
@8080
@commons_3_dev
@none
@w2

उपनाम उपनामों में सेट किए जाते हैं, जिन्हें उपनाम कहा जाता है ।rushrc.php। मेरे लिए यह / usr / लोकल / शेयर / ड्रश / में स्थित है। इस बात पर निर्भर करता है कि आपने ड्रश को कैसे स्थापित किया और किस डिस्ट्रो पर आप अलग हो सकते हैं।

आप उस फ़ाइल के अंदर इस तरह से उपनाम सेट कर सकते हैं

$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

पथ और अन्य जानकारी प्राप्त करने के लिए, थोड़ा o 'pipping का उपयोग करें:

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 (स्टेटस के लिए) की कोशिश करें
रिक

हाँ, लेकिन मैं व्यक्तिगत रूप से यह देखना नहीं चाहता कि यह वह है जिसे मैं देख रहा हूँ। मैं एक बहु-साइट, बहु-उपयोगकर्ता वातावरण में बहुत सारे उपनामों के साथ काम कर रहा हूं। जो मैं चाहता हूं, वह भी मौजूद नहीं हो सकता है!
user1359

4
इसे आज़माएँ: drush sa | xargs -I {} sh -c "drush {} st"
रिक

1
पाइप और ग्रिप के साथ रचनात्मक हो जाओ। कभी-कभी एक साथ स्ट्रैस किए गए सरल बैश कमांड आपको कुछ अद्भुत जानकारी देंगे।
रिक

2

यदि आप मेरे जैसे हैं तो आप सभी विवरण भी चाहते हैं ...

कोशिश करो drush site-alias --tableया शॉर्टकट drush sa --table

GitHub की जाँच करें या drush topic aliasesअधिक जानकारी के लिए।


मुझे पता है कि यह एक प्राचीन सूत्र है, लेकिन अगर कोई भी यहाँ गूगल के माध्यम से भूमि - पैरामीटर नहीं है - लेकिन drush sa --format=table। और आपको कुछ अजीब वजन उठाने से बचाने के लिए आप चीजों को संक्षिप्त रखने के लिए --fields और --field-label = 0 विकल्प का उपयोग कर सकते हैं।
डैन शुमेकर

@DanShumaker मैंने अब कुछ वर्षों में Drupal पर काम नहीं किया है। एक नया जवाब देने के लिए स्वतंत्र महसूस करो, और मैं तुम्हारा उत्थान करूंगा।
रोब कॉलबर्न
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.