Работает ли запущенная drush up
резервная копия базы данных? Из тестирования похоже, что нет. Должен ли я делать отдельное резервное копирование базы данных перед запуском drush up
для обновления?
Работает ли запущенная drush up
резервная копия базы данных? Из тестирования похоже, что нет. Должен ли я делать отдельное резервное копирование базы данных перед запуском drush up
для обновления?
Ответы:
Нет, это не так. Он только создает резервную копию текущих каталогов модулей, прежде чем заменить их.
Чтобы создать дамп sql, используйте
drush sql-dump > filename.sql.
Но не забудьте переместить файл за пределы своего webroot.
Чтобы сделать gzipped mysql dump с drush :
drush sql-dump --gzip --result-file
Обновление из комментария wranvaud:
Если вы не укажете файл результатов, он будет храниться в вашей домашней папке в папке:, в ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz
противном случае вы можете указать --result-file = '~ / Documents /'
--result-file='~/Documents/<my_backups_folder>'
Если у вас установлен модуль резервного копирования и миграции , вы можете вызвать его из Drush с помощью
$ drush bam-backup
Это решение bash-скрипта для резервного копирования и восстановления из командной строки с помощью drush и Acquia-Drupal :
1) Найдите путь для прорисовки (в моем случае это входит в acquia) (drushpath = "/ Applications / acquia-drupal / drush")
2) Создайте файл backup_ mysite и файл restore_ 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) Редактировать restore_ 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
Теперь с Drush 5 это очень легко
«Примечание: Drush 5 представил команды archive-dump и archive-restore, которые позволяют создавать резервные копии кода, файлов и базы данных в одном файле».