Est-ce que drush up fait une sauvegarde / vidage de la base de données?


Réponses:


7

Non, ce n'est pas le cas. Il ne fait qu'une sauvegarde des répertoires actuels du module, avant de les remplacer.

Pour créer un vidage SQL, utilisez

drush sql-dump > filename.sql.

Mais n'oubliez pas de déplacer le fichier en dehors de votre racine Web.


Je voudrais rappeler aux gens de faire un vidage en dehors de la racine de votre site Web; afin que les pirates restent à l'écart.
chrisjlee

Cette réponse "acceptée" n'est pas correcte. Drush fournit en fait un vidage de la base de données: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2

Hum. Essayez de relire la réponse. Tout cela, pas seulement la première phrase. Parce que c'est exactement ce que j'ai écrit. La question était de savoir si "drush up" le fait, pas si drush peut le faire.
Berdir

8

Pour faire un vidage mysql compressé avec drush :

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

Mise à jour à partir du commentaire de wranvaud: Si vous ne spécifiez pas le fichier de résultat, il sera stocké dans votre dossier personnel sous ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz:, sinon vous pouvez spécifier --result-file = '~ / Documents /'


1
si vous ne spécifiez pas le fichier de résultat, il sera stocké dans votre dossier personnel sous ~ / drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz sinon vous pouvez spécifier--result-file='~/Documents/<my_backups_folder>'
wranvaud

5

Si le module du module Sauvegarde et migration est installé, vous pouvez l'appeler depuis Drush avec

$ drush bam-backup


drush prend en charge nativement un vidage de base de données, sans avoir besoin d'un module supplémentaire, voir ci
wiifm

2

Il s'agit d'une solution de script bash pour la sauvegarde et la restauration à partir de la ligne de commande avec drush et Acquia-Drupal :

  • Remarque: Il vous suffit de modifier le chemin de base, le nom du site et peut-être le chemin de drush dans les deux scripts pour répondre à vos besoins
  • Remarque 2: Le script de sauvegarde créera un .tar contenant vos fichiers de site plus un fichier data.sql décrivant votre base de données
  • Remarque 3: Le script de restauration choisira le dernier fichier de sauvegarde .tar créé par le script de sauvegarde

INSTRUCTIONS

1) Trouvez le chemin de drush (drush est inclus dans acquia), dans mon cas (drushpath = "/ Applications / acquia-drupal / drush")

2) Créez un fichier backup_ mysite et un fichier restore_ mysite et incluez-les dans le chemin du dossier bin (par exemple: / usr / local / bin)

3) Modifier 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) Modifier 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

Vous pouvez également utiliser sql-sync pour la sauvegarde.

$ drush sql-sync -v @site1 @site2

C'est le meilleur moyen de sauvegarder un site.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.