ड्रश एसक्यूएल-डंप के साथ विशिष्ट तालिकाओं को कैसे छोड़ें?


9

मेरे पास एक ड्रश कॉन्फिग फाइल है ~ / .ड्रश / ड्रशर.ऑफ़:

if (!isset($options['structure-tables']['common'])) {
  $options['structure-tables']['common'] = array(
    'cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog'
  );
}

$options['structure-tables']['common'] = array_merge($options['structure-tables']['common'], 
  array('ctools_css_cache', 'ctools_object_cache', 'logz', 'views_object_cache')
);

और मेरे पास एक bash स्क्रिप्ट फ़ाइल है:

/usr/bin/drush sql-dump --root="/home/username/domains/sitename/www" --skip-tables-key="common" --gzip --result-file=/home/username/backup/$year/$month/dbname_$date_now_time.sql

लेकिन जब मैं इसे निष्पादित करता हूं तो बैकअप फ़ाइल में अभी भी कैश टेबल में डेटा होता है। मैं क्या गलत कर रहा हूं?

और दूसरा सवाल है - अगर मैंने इसे कोंट्राब में डाल दिया तो क्या मुझे कॉन्फ़िगरेशन फाइल कहीं और लगाने की आवश्यकता है?

मैं ड्रश संस्करण 8 का उपयोग करता हूं।


1
मुझे आश्चर्य है कि अगर drushrc.phpनहीं चलाया जा रहा है। की एक var_dump प्रयास करें $options['structure-tables']में drushrc.phpसिर्फ करने के लिए की पुष्टि करें कि इसे चलाने जा रहा है।
क्लीवर

जवाबों:


0

क्षमा करें, मैं आपके पहले प्रश्न के साथ आपकी बहुत मदद नहीं कर सकता ...

आपका दूसरा प्रश्न पूछा गया:

और दूसरा सवाल है - अगर मैंने इसे कोंट्राब में डाल दिया तो क्या मुझे कॉन्फ़िगरेशन फाइल कहीं और लगाने की आवश्यकता है?

Drushrc.php उदाहरण फाइल करने के लिए Drush प्रलेखन साइट लिंक जहां आर सी फ़ाइल में डाल सकता है का कहना है:

https://raw.githubusercontent.com/drush-ops/drush/master/examples/example.drushrc.php

इस फ़ाइल का नाम drushrc.php पर रखें और वैकल्पिक रूप से पूर्ववर्ती क्रम में नीचे सूचीबद्ध स्थानों में से एक में कॉपी करें:

  1. Drupal साइट फ़ोल्डर (उदाहरण के लिए साइट्स / {default | example.com} /drushrc.php)।
  2. Drupal / drush और sites / all / drush फ़ोल्डरों, या / Drupal रूट के ऊपर डायरेक्टरी में drush फोल्डर।
  3. किसी भी स्थान पर, जैसा कि --config (-c) विकल्प द्वारा निर्दिष्ट है।
  4. उपयोगकर्ता .drush फ़ोल्डर (यानी ~ / .drush / drushrc.php)।
  5. सिस्टम वाइड कॉन्फ़िगरेशन फ़ोल्डर (जैसे /etc/drush/drushrc.php)।
  6. Drush स्थापना फ़ोल्डर।

क्रोन के लिए प्रलेखन की सलाह है कि ड्रश को उसी उपयोगकर्ता के रूप में चलाने के लिए कॉन्फ़िगर किया जाए जो आपका वेबसर्वर चलाता है। कहा जा रहा है कि मैं आपको अपने आरसी फ़ाइल को स्थान (5), एक सिस्टम-वाइड कॉन्फ़िगरेशन फ़ोल्डर में रखने की सलाह देता हूं। हाँ, अधिक स्थानीय Drush rc फ़ाइलों को जरूरत के अनुसार आपके सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल को ओवरराइड करने की आवश्यकता होगी (ओह अच्छी तरह से)।


ये सभी लिंक अब 404 के हैं। :(
डेल एंडरसन

@ डेलएंडरसन ... यह इंटरनेट है और कुछ भी स्थायी नहीं है। यहाँ आपके लिए एक उपयोगी सेवा है जो मैं आपको सलाह देता हूं कि आप सीखें कि कैसे उपयोग करें, कृपया ध्यान दें कि मैंने drush.org साइट web.archive.org/web/20150905130324/http://www.drush.org का सिर्फ एक सितम्बर 2015 स्नैपशॉट चुना। 80 / en /… इस समय आपको नए उपकरणों जैसे कि ड्रुपल कंसोल या ड्रश 9 डॉक्स पर भी विचार करना चाहिए।
दस

24

cacheतालिका और तालिकाएँ छोड़कर सभी तालिकाएँ डंप करें cache_

drush sql-dump --skip-tables-list=cache,cache_* > dumpfile.sql

केवल डेटाबेस संरचना। कोई डेटा नहीं।

drush sql-dump --extra=--no-data > dumpfile.sql

केवल डेटा। कोई कैश डेटा और कोई कैश संरचना नहीं।

drush sql-dump --skip-tables-list=cache,cache_* --data-only > dumpfile.sql

कैश डेटा नहीं, लेकिन उनकी संरचनाओं में डंप।

drush sql-dump --structure-tables-list=cache,cache_* > dumpfile.sql

sql- डंप प्रलेखन


--extra=--no-dataमेरे लिए काम कर रहा था, लेकिन मैं ऐसा करने में सक्षम था --skip-tables-list="*"और उस काम किया।
18

आप उद्धरणों का उपयोग करना चाह सकते हैं, जैसे "cache,cache_*"अपने शेल को cache_*अपनी कार्यशील निर्देशिका में कॉल की गई फ़ाइलों से मिलान करने से रोकना ।
रुडोल्फबाइकर

0

किसी कारण से कैश_ * ने मुझे 9+ के ड्रश के साथ काम नहीं किया जब तक कि मैं अंडरस्कोर नहीं छोड़ देता। हालाँकि, यह मेरे (सर्वर) बैश / टर्मिनल के लिए विशिष्ट हो सकता है। मेरे लिए क्या काम किया:

drush sql-dump --skip-tables-list=cache*

और आप हमेशा --verboseवास्तविक mysql डंप देखने के लिए जोड़ सकते हैं और यह --ignore पैरामीटर है।


बैश के साथ, यदि cache_*आपकी वर्तमान निर्देशिका में किसी भी फाइल से मेल खाता है तो बैश उन फ़ाइलनामों को ग्लोब करेगा और तर्क के रूप में उपयोग करेगा। आप यह सुनिश्चित करने के लिए कि यह किसी भी फाइल के ग्लोब के बजाय शाब्दिक मूल्य कमांड के पास है, इसे सुनिश्चित करने के लिए इसके चारों ओर दोहरे उद्धरण रख सकते हैं।
18
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.