O drush up faz um backup / despejo de banco de dados?

13

A execução drush upexecuta um backup do banco de dados? Nos testes, parece que não. Devo fazer um backup separado do banco de dados antes de executar drush upa atualização?

user1359
fonte
Veja também drupal.stackexchange.com/questions/3363/…
Mawg diz que restaura a Monica

Respostas:

7

Não, não faz. Ele faz apenas um backup dos diretórios atuais do módulo, antes de substituí-los.

Para criar um dump sql, use

drush sql-dump > filename.sql.

Mas lembre-se de mover o arquivo para fora da raiz da web.

Berdir
fonte
Gostaria de lembrar às pessoas que fazem um despejo fora da raiz do site; para que os hackers fiquem longe.
Chrisjlee # 27/11
Esta resposta "aceita" não está correta. Drush, na verdade, fornece um despejo do banco de dados: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2
Hum. Tente ler a resposta novamente. Tudo isso, não apenas a primeira frase. Porque foi exatamente isso que escrevi. A questão era se "drush up" faz isso, não se drush pode fazê-lo.
Berdir 6/01/16
8

Para fazer o mysql despejar gzipped com drush :

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

Atualização do comentário do wranvaud: Se você não especificar o arquivo de resultado, ele será armazenado na sua pasta pessoal em ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz:, caso contrário, você poderá especificar --result-file = '~ / Documents /'

milkovsky
fonte
1
Se você não especificar o arquivo de resultado será armazenado em você casa pasta em ~ / Drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz caso contrário, você pode especificar--result-file='~/Documents/<my_backups_folder>'
wranvaud
5

Se você tiver o módulo Backup and Migrate module instalado, poderá chamá-lo do Drush with

$ drush bam-backup

Wrashi
fonte
drush suporta nativamente um dump de banco de dados, sem a necessidade de um módulo extra, veja acima
wiifm
2

Esta é uma solução de script bash para backup e restauração da linha de comando com drush e Acquia-Drupal :

  • Nota: Você só precisa alterar o caminho base, o nome do site e talvez o caminho drush nos dois scripts para atender às suas necessidades
  • Nota 2: O script de backup criará um arquivo .tar contendo os arquivos do site, além de um arquivo data.sql que descreve o banco de dados
  • Nota3: O script de restauração escolherá o último arquivo de backup .tar criado pelo script de backup

INSTRUÇÕES

1) Encontre o caminho do drush (o drush está incluído no acquia), no meu caso (drushpath = "/ Applications / acquia-drupal / drush")

2) Crie um arquivo backup_ mysite e um arquivo restore_ mysite e inclua-os no caminho da pasta bin (por exemplo: / usr / local / bin)

3) Editar backup_ 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) Editar 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
monojones
fonte
1

Você também pode usar o sql-sync para backup.

$ drush sql-sync -v @site1 @site2
Sivaji
fonte
Essa é a melhor maneira de fazer backup de um site.
1

Agora é muito fácil com o Drush 5

“Nota: o Drush 5 introduziu comandos archive-dump e archive-restore que permitem fazer backup de seu código, arquivos e banco de dados em um único arquivo."

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

frazras
fonte