it-swarm.asia

هل يتم إجراء نسخ احتياطي / تفريغ لقاعدة البيانات؟

هل يعمل drush up تشغيل نسخة احتياطية لقاعدة البيانات؟ من الاختبار ، يبدو أنه لا. هل يجب أن أقوم بعمل نسخة احتياطية لقاعدة بيانات منفصلة قبل تشغيل drush up للتحديث؟

13
user1359

لا لا. يقوم فقط بعمل نسخة احتياطية من أدلة الوحدة النمطية الحالية ، قبل أن تحل محلها.

لإنشاء تفريغ SQL ، استخدم

drush sql-dump > filename.sql.

ولكن تذكر نقل الملف خارج webroot الخاص بك.

7
Berdir

لجعل تفريغ mysql مضغوط مع drush :

drush sql-dump --gzip --result-file

تحديث من تعليق wranvaud: إذا لم تحدد ملف النتيجة ، فسيتم تخزينه في المجلد الرئيسي الخاص بك تحت: ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz ، وإلا يمكنك تحديد --result-file = '~/Documents /'

8
milkovsky

إذا كان لديك وحدة النسخ الاحتياطي والترحيل وحدة مثبتة ، يمكنك الاتصال بها من Drush مع

$ drush bam-backup

5
Wrashi

هذا هو حل bash script للنسخ الاحتياطي والاستعادة من سطر الأوامر مع drush و Acquia-Drupal:

  • ملحوظة: ما عليك سوى تغيير مسار الأساس ، واسم الموقع ، وربما drushpath في كلا البرنامجين لتناسب احتياجاتك
  • ملاحظة 2: سينشئ البرنامج النصي النسخ الاحتياطي .tar يحتوي على ملفات موقعك بالإضافة إلى ملف data.sql يصف قاعدة البيانات الخاصة بك =
  • ملاحظة 3: سيختار البرنامج النصي للاستعادة آخر ملف نسخ احتياطي بتنسيق .tar تم إنشاؤه بواسطة البرنامج النصي للنسخ الاحتياطي

تعليمات [~ # ~] [~ # ~]

1) ابحث عن مسار الحفر (يتم تضمين الحفر في الاكتساب) ، في حالتي (drushpath = "/ Applications/acquia-drupal/drush")

2) قم بإنشاء نسخة احتياطية _ mysite ملف واستعادة _ mysite ملف وقم بتضمينها في مسار مجلد bin الخاص بك (على سبيل المثال:/usr/local/bin)

3) تحرير نسخة احتياطية _ mysite =

#!/bin/bash
# Text color variables
txtgrn=$(tput setaf 2)    # Green
txtylw=$(tput setaf 3)    # Yellow

basepath="path-to-your-server-root" #4ex "/Users/monojones/www"
backuppath="$basepath/backups"
drushpath="/Applications/acquia-drupal/drush"
sitename="your-sitename"
tempdir="$backuppath/backup_$sitename"

if [ -d $backuppath ]; then
 echo "Backup path finded. [ $backuppath ]"
else
  echo "Creating backup path... [ $backuppath ]"
  mkdir $backuppath
fi

echo "${txtylw}Backing up $sitename ... ${txtgrn}"
if [ -d "$backuppath/$sitename" ]; then
 echo "Backup subdir finded."
else
 echo "Creating $backuppath/$sitename" 
 mkdir $backuppath/$sitename
fi
echo "${txtylw}"
mkdir $tempdir
$drushpath/drush -r $basepath/$sitename  sql-dump --result-file=$tempdir/data.sql
tar -pczf $tempdir/files.tgz $basepath/$sitename $systempaths
tar -pczf $backuppath/$sitename/$sitename.backup_$(date +%Y%m%d%H%M).tar.gz $tempdir
rm -rf $tempdir

4) تحرير استعادة _ mysite =

#!/bin/bash
# Text color variables
txtred=$(tput setaf 1)    # Red
txtgrn=$(tput setaf 2)    # Green
txtylw=$(tput setaf 3)    # Yellow

basepath="path-to-your-server-root" #4ex "/Users/monojones/www"
backuppath="$basepath/backups"
sitename="your-sitename"
drushpath="/Applications/acquia-drupal/drush"

echo "${txtylw}Restoring ${txtred}$sitename ${txtylw} database: ${txtgrn}"
FILE=`ls -1 $backuppath/$sitename/$sitename.backup_* | tail -n 1`
echo "Last backup file: ${txtpur} $FILE ${txtylw}"
mkdir temp_drupalbackup_$sitename 
tar -C temp_drupalbackup_$sitename -zxvf $FILE ${backuppath:1}/backup_$sitename/data.sql
$drushpath/drush sql-drop
drush sql-cli <  temp_drupalbackup_$sitename/${backuppath:1}/backup_$sitename/data.sql
rm -R temp_drupalbackup_$sitename
2
monojones

يمكنك أيضًا استخدام مزامنة sql للنسخ الاحتياطي.

$ drush sql-sync -v @site1 @site2
1
Sivaji

من السهل جدًا الآن مع Drush 5

"ملاحظة: قدم Drush 5 أوامر تفريغ الأرشفة واستعادة الأرشيف التي تسمح لك بعمل نسخة احتياطية من التعليمات البرمجية والملفات وقاعدة البيانات في ملف واحد."

https://drupal.org/upgrade/backing-your-site-command-line

1
frazras