كيفية تخطي جداول محددة باستخدام drush sql-dump؟

drupal.stackexchange https://drupal.stackexchange.com/questions/175550

  •  29-09-2020
  •  | 
  •  

سؤال

لدي ملف تكوين drush ~/.drush/drushrc.php:

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

ولكن عندما أقوم بتنفيذه، لا يزال ملف النسخ الاحتياطي يحتوي على بيانات في جداول ذاكرة التخزين المؤقت.ما الخطأ الذي افعله؟

والسؤال الثاني هو - إذا قمت بوضع هذا في crontab، فهل أحتاج إلى وضع ملف التكوين في مكان آخر؟

أستخدم الإصدار الثامن من Drush.

هل كانت مفيدة؟

المحلول

آسف لا أستطيع مساعدتك كثيرا في سؤالك الأول ...

سؤالك الثاني:

والسؤال الثاني - إذا وضعت هذا في Crontab هل أحتاج إلى وضع ملف التكوين في مكان آخر؟

href="http://www.drush.org/en/master/examples/" rel="nofollow"> روابط موقع وثائق Drush إلى ملف مثال Drushrcrc.PHP تقول أين أنت قد يضع ملف RC:

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

أعد تسمية هذا الملف إلى drushrc.php ونسخه اختياريا إلى أحد الأماكن المدرجة أدناه من أجل الأسبقية:

  1. مجلد موقع دروبال (على سبيل المثال المواقع / {default.com}}} /drushrc.php).
  2. drupal / drush والمواقع / جميع المجلدات، أو مجلد / drush في الدليل أعلاه جذر دروبال.
  3. في أي مكان، كما هو محدد بواسطة خيار --Config (-c).
  4. مجلد المستخدم .drush (I.E. ~ / .drush / drushrc.php).
  5. مجلد التكوين واسع النظام (E.G. /etc/drush/drushrc.php).
  6. مجلد تثبيت الرقيب.

P> for cron توصي الوثائق يتم تكوين الدقيقة لتشغيل نفس المستخدم الذي يدير خادم الويب الخاص بك. يقال إنني أن أوصي بوضع ملف RC الخاص بك في الموقع (5)، ومجلد تكوين على مستوى النظام. نعم، ستحتاج المزيد من ملفات RC المترجمة إلى تجاوز ملف التكوين على نطاق النظام حسب الحاجة (حسنا).

نصائح أخرى

تفريغ كافة الجداول باستثناء 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

لسبب ما، لم يعمل Cache_* بالنسبة لي مع drush 9+ حتى حذفت الشرطة السفلية.ومع ذلك، قد يكون هذا خاصًا بالمحطة/المحطة (الخادم) الخاصة بي.ما نجح بالنسبة لي:

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

ويمكنك دائمًا إضافة --verbose لرؤية تفريغ MySQL الفعلي والمعلمة --ignore.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى drupal.stackexchange
scroll top