Drush Up effectue-t-il une sauvegarde / vidage de la base de données?
On février 16, 2021 by admin Est-ce que lexécution de drush up
exécute une sauvegarde de base de données? Daprès les tests, il semble que ce ne soit pas le cas. Dois-je faire une sauvegarde de base de données séparée avant dexécuter drush up
pour mettre à jour?
Commentaires
- Voir aussi drupal.stackexchange.com/questions/3363/…
Réponse
Non, ce nest pas le cas. Il ne fait quune sauvegarde des répertoires actuels du module, avant de les remplacer.
Pour créer un dump sql, utilisez
drush sql-dump > filename.sql.
Mais noubliez pas de déplacer le fichier en dehors de votre racine Web.
Commentaires
- Je voudrais rappeler aux gens de faire un vidage en dehors de la racine de votre site Web; les pirates informatiques resteront à lécart.
- Cette réponse " acceptée " nest pas correcte. Drush fournit en fait un vidage de la base de données: " drush sql-dump " drushcommands.com/drush-7x/sql/sql-dump
- Hum. Essayez de relire la réponse. Tout cela, pas seulement la première phrase. Parce que ' est exactement ce que jai écrit. La question était de savoir si " drush up " le fait, pas si drush peut le faire.
Réponse
Pour faire un vidage mysql gzippé 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 sur lequel il sera stocké votre dossier personnel sous: ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz
, sinon vous pouvez spécifier –result-file = « ~ / Documents / »
Commentaires
- si vous ' ne spécifiez pas le fichier de résultat, il sera stocké dans votre dossier personnel sous ~ / drush-backups / < db_name > / < horodatage > / < database_file > .sql.gz sinon vous pouvez spécifier
--result-file='~/Documents/<my_backups_folder>'
Réponse
Si vous avez le Module de sauvegarde et de migration installé, vous pouvez lappeler depuis Drush avec
$ drush bam-backup
Commentaires
- drush prend en charge nativement un vidage de base de données, sans avoir besoin dun module supplémentaire, voir ci-dessus
Réponse
Ceci est une solution de script bash pour sauvegarder et restaurer à 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 drushpath dans les deux scripts pour répondre à vos besoins
- Note 2: Le script de sauvegarde créera un fichier .tar contenant les fichiers de votre site plus un fichier data.sql décrivant votre base de données
- Remarque3: Le script de restauration choisira le dernier fichier de sauvegarde .tar créé par le script de sauvegarde
INSTRUCTIONS
1) Trouvez le chemin 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 de votre dossier bin (par exemple: / usr / local / bin)
3) Modifier backup_ mon site
#!/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_ mon site
#!/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
Réponse
Vous pouvez également utiliser sql-sync pour la sauvegarde.
$ drush sql-sync -v @site1 @site2
Commentaires
- Cest la meilleure façon de sauvegarder un site.
Réponse
Cest très simple maintenant avec Drush 5
« Remarque: Drush 5 a introduit des commandes de vidage darchive et de restauration darchive qui vous permettent de sauvegarder votre code, vos fichiers et votre base de données dans un seul fichier. »
Laisser un commentaire