Drush up fa un backup / dump del database?


Risposte:


7

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.


Vorrei ricordare alle persone di fare un dump al di fuori della radice del tuo sito Web; così gli hacker staranno lontani.
chrisjlee,

Questa risposta "accettata" non è corretta. Drush infatti fornisce un dump del database: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2

Um. Prova a leggere di nuovo la risposta. Tutto, non solo la prima frase. Perché è esattamente quello che ho scritto. La domanda era se "Drush Up" lo fa, non se Drush può farlo.
Berdir,

8

Per fare il dump mysql gzipped con drush :

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

Aggiornamento dal commento di wranvaud: se non si specifica il file dei risultati, questo verrà archiviato nella cartella principale in ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz:, altrimenti è possibile specificare --result-file = '~ / Documents /'


1
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/<my_backups_folder>'
wranvaud

5

Se hai installato il modulo Modulo di backup e migrazione , puoi chiamarlo da Drush con

$ drush bam-backup


drush supporta nativamente un dump del database, senza la necessità di un modulo aggiuntivo, vedi sopra
wiifm

2

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 adattarli alle tue esigenze
  • Nota 2: lo script di backup creerà un file .tar contenente i file del sito più un file data.sql che descrive il database
  • Nota 3: 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 backup_ mysite e un restore_ 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 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

1

Puoi anche usare sql-sync per il backup.

$ drush sql-sync -v @site1 @site2

Questo è il modo migliore per eseguire il backup di un sito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.