it-swarm.it

Drush up fa un backup / dump del database?

Esegue drush up eseguire un backup del database? Dai test, sembra che non lo sia. Devo fare un backup del database separato prima di eseguire drush up aggiornare?

13
user1359

No non lo fa. Fa solo un backup delle directory del modulo corrente, prima di sostituirle.

Per creare un dump sql, utilizzare

drush sql-dump > filename.sql.

Ma ricorda di spostare il file al di fuori del tuo webroot.

7
Berdir

Per fare dump mysql gzipped con drush :

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

Aggiornamento dal commento di wranvaud: Se non specifichi il file del risultato, questo verrà archiviato nella tua cartella home in: ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz, altrimenti puoi specificare --result-file = '~/Documents /'

8
milkovsky

Se hai installato il modulo Backup and Migrate module , puoi chiamarlo da Drush con

$ drush bam-backup

5
Wrashi

Questa è una soluzione di script bash per il backup e il ripristino dalla riga di comando con drush e Acquia-Drupal:

  • Nota: Devi solo cambiare basepath, sitename e forse drushpath in entrambi gli script per soddisfare le tue esigenze
  • Nota 2: Lo script di backup creerà un file .tar contenente i file del tuo sito più un file data.sql che descrive il tuo database =
  • Nota3: Lo script di ripristino sceglierà l'ultimo file di backup .tar creato dallo script di backup

[~ # ~] [~ istruzioni # ~]

1) Trova il percorso di Drush (Drush è incluso in Acquia), nel mio caso (Drushpath = "/ Applicazioni/Acquia-Drupal/Drush")

2) Creare un file di backup _ mysite e un file di ripristino _ mysite e includerli nel percorso della cartella bin (ad esempio:/usr/local/bin)

3) Modifica 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) Modifica ripristina _ 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

Puoi anche usare sql-sync per il backup.

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

Ora è molto semplice con Drush 5

"Nota: Drush 5 ha introdotto i comandi di archivio-dump e ripristino dell'archivio che consentono di eseguire il backup di codice, file e database in un singolo file."

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

1
frazras