Führt drush up ein Datenbank-Backup / -Dump durch?

13

Läuft drush upeine Datenbanksicherung? Nach dem Testen sieht es so aus, als ob es nicht so wäre. Sollte ich eine separate Datenbanksicherung durchführen, bevor ich die drush upAktualisierung durchführe?

user1359
quelle
Siehe auch drupal.stackexchange.com/questions/3363/…
Laut Mawg wird Monica

Antworten:

7

Nein, tut es nicht. Es werden nur die aktuellen Modulverzeichnisse gesichert, bevor sie ersetzt werden.

Verwenden Sie zum Erstellen eines SQL-Dumps

drush sql-dump > filename.sql.

Denken Sie jedoch daran, die Datei außerhalb Ihrer Webroot zu verschieben.

Berdir
quelle
Ich möchte die Leute daran erinnern, einen Speicherauszug außerhalb Ihres Website-Stammverzeichnisses zu erstellen. Hacker bleiben also fern.
Chrisjlee
Diese "akzeptierte" Antwort ist nicht korrekt. Tatsächlich liefert Drush einen Speicherauszug der Datenbank: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2
Äh. Lesen Sie die Antwort noch einmal. Alles, nicht nur der erste Satz. Denn genau das habe ich geschrieben. Die Frage war, ob "drush up" es tut, nicht ob drush es kann.
Berdir
8

So erstellen Sie einen gezippten MySQL-Dump mit drush :

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

Update vom Wranvaud-Kommentar: Wenn Sie die Ergebnisdatei nicht angeben, wird sie in ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gzIhrem Home-Ordner unter: gespeichert. Andernfalls können Sie --result-file = '~ / Documents /' angeben.

milkovsky
quelle
1
Wenn Sie die Ergebnisdatei nicht angeben, wird sie in Ihrem Home-Ordner unter ~ / drush-backups / <Datenbankname> / <Zeitstempel> / <Datenbankdatei> .sql.gz gespeichert. Andernfalls können Sie --result-file='~/Documents/<my_backups_folder>'
Folgendes
5

Wenn Sie das Modul Backup and Migrate installiert haben, können Sie es von Drush mit aufrufen

$ drush bam-backup

Wrashi
quelle
drush unterstützt nativ einen Datenbankspeicherauszug, ohne dass ein zusätzliches Modul erforderlich ist (siehe oben)
wiifm
2

Dies ist eine Bash-Skript-Lösung zum Sichern und Wiederherstellen von der Kommandozeile mit drush und Acquia-Drupal :

  • Hinweis: Sie müssen lediglich den Basispfad, den Site-Namen und möglicherweise den Pfad in beiden Skripten entsprechend Ihren Anforderungen ändern
  • Hinweis 2: Das Backup-Skript erstellt eine .tar-Datei, die Ihre Site-Dateien sowie eine data.sql-Datei enthält, die Ihre Datenbank beschreibt
  • Hinweis 3: Das Wiederherstellungsskript wählt die letzte vom Sicherungsskript erstellte .tar-Sicherungsdatei aus

ANLEITUNG

1) Finde den Drush-Pfad (Drush ist in acquia enthalten), in meinem Fall (drushpath = "/ Applications / acquia-drupal / drush")

2) Erstellen Sie eine backup_mysite- Datei und eine restore_mysite- Datei und fügen Sie diese in Ihren bin- Ordnerpfad ein (zum Beispiel: / usr / local / bin).

3) Bearbeiten Sie 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) Bearbeiten Sie 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
quelle
1

Sie können sql-sync auch zum Sichern verwenden.

$ drush sql-sync -v @site1 @site2
Sivaji
quelle
Dies ist der beste Weg, um eine Site zu sichern.
1

Mit Drush 5 ist es jetzt ganz einfach

"Hinweis: Mit Drush 5 wurden die Befehle archive-dump und archive-restore eingeführt, mit denen Sie Ihren Code, Ihre Dateien und Ihre Datenbank in einer einzigen Datei sichern können."

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

Frazras
quelle