Чи створює резервне копіювання / скидання бази даних?


13

Чи працює drush upзапуск резервної копії бази даних? З тестування, схоже, це не так. Чи потрібно робити окрему резервну копію бази даних, перш ніж запустити drush upоновлення?


Відповіді:


7

Ні, це не так. Він робить лише резервну копію поточних каталогів модулів, перш ніж замінити їх.

Щоб створити дамп sql, використовуйте

drush sql-dump > filename.sql.

Але не забудьте перемістити файл поза вашою веб-коренею.


Я хотів би нагадати людям робити дамп поза вашим коренем веб-сайту; тож хакери залишатимуться подалі.
chrisjlee

Ця "прийнята" відповідь не вірна. Насправді Drush надає дамп бази даних: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2

Гм. Спробуйте прочитати відповідь ще раз. Все це, не тільки перше речення. Бо саме це я написав. Питання полягало в тому, чи може це зробити "drush up", а не якщо drush може це зробити.
Бердір

8

Щоб зробити gzipped mysql-дамп із натискачем :

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

Оновлення з коментаря wranvaud: Якщо ви не вкажете файл результату, він буде збережений у вашій домашній папці під:, ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gzінакше ви можете вказати --result-file = '~ / Documents /'


1
якщо не вказати файл результату, він буде зберігатися у вашій домашній папці під ~ / drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz, інакше ви можете вказати--result-file='~/Documents/<my_backups_folder>'
wranvaud


2

Це рішення bash-скрипту для резервного копіювання та відновлення з командного рядка за допомогою drush та Acquia-Drupal :

  • Примітка. Вам потрібно змінити лише базовий шлях, ім'я сайту та, можливо, drushpath в обох сценаріях, щоб відповідати вашим потребам
  • Примітка 2: Сценарій резервного копіювання створить .tar, що містить файли вашого сайту, а також файл data.sql, що описує вашу базу даних
  • Примітка3: скрипт відновлення обрав останній файл резервного копіювання .tar, створений скриптом резервного копіювання

ІНСТРУКЦІЇ

1) Знайдіть шлях друку (друш входить в ремію), в моєму випадку (drushpath = "/ Програми / експія-друпаль / друш")

2) Створити копію_ MySITE файл і restore_ MySITE файл і включити їх в свій шлях до папці бін (наприклад: / USR / місцеві / бен)

3) Edit копію_ 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) Редагувати файл Resto_ 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

1

Ви також можете використовувати sql-sync для резервного копіювання.

$ drush sql-sync -v @site1 @site2

Це найкращий спосіб створити резервну копію сайту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.