Apakah drush up melakukan backup / dump basis data?

13

Apakah menjalankan drush upmenjalankan cadangan basis data? Dari pengujian, sepertinya tidak. Haruskah saya melakukan backup database terpisah sebelum saya menjalankan drush upuntuk memperbarui?

pengguna1359
sumber
Lihat juga drupal.stackexchange.com/questions/3363/...
Mawg mengatakan mengembalikan Monica

Jawaban:

7

Tidak, tidak. Itu hanya membuat cadangan dari direktori modul saat ini, sebelum menggantikannya.

Untuk membuat dump sql, gunakan

drush sql-dump > filename.sql.

Tapi ingat untuk memindahkan file di luar webroot Anda.

Berdir
sumber
Saya ingin mengingatkan orang untuk melakukan dump di luar root situs web Anda; jadi hacker akan menjauh.
chrisjlee
Jawaban "diterima" ini tidak benar. Drush sebenarnya menyediakan dump database: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2
Um Coba baca lagi jawabannya. Semua itu, bukan hanya kalimat pertama. Karena itulah yang saya tulis. Pertanyaannya adalah apakah "drush up" melakukannya, bukan apakah drush dapat melakukannya.
Berdir
8

Untuk membuat mysql dump gzipped dengan drush :

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

Perbarui dari komentar wranvaud: Jika Anda tidak menentukan file hasil itu akan disimpan pada folder home Anda di bawah ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz:, jika tidak, Anda dapat menentukan --result-file = '~ / Documents /'

milkovsky
sumber
1
jika Anda tidak menentukan file hasil itu akan disimpan pada folder home Anda di bawah ~ / drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz jika tidak, Anda dapat menentukan--result-file='~/Documents/<my_backups_folder>'
wranvaud
5

Jika Anda memiliki modul modul Cadangan dan Migrasi yang diinstal, Anda dapat memanggilnya dari Drush with

$ drush bam-backup

Wrashi
sumber
Drush secara native mendukung dump database, tanpa perlu modul tambahan, lihat di atas
wiifm
2

Ini adalah solusi skrip bash untuk Cadangkan dan Kembalikan dari baris perintah dengan drush dan Acquia -Drupal :

  • Catatan: Anda hanya perlu mengubah basepath, sitename, dan mungkin drushpath di kedua skrip agar sesuai dengan kebutuhan Anda
  • Catatan 2: Skrip Cadangan akan membuat .tar yang berisi file situs Anda ditambah file data.sql yang menjelaskan database Anda
  • Note3: Skrip pemulihan akan memilih file cadangan .tar terakhir yang dibuat oleh skrip cadangan

INSTRUKSI

1) Temukan jalur drush (drush termasuk dalam acquia), dalam kasus saya (drushpath = "/ Aplikasi / acquia-drupal / drush")

2) Buat backup_ mysite berkas dan restore_ mysite berkas dan memasukkan mereka dalam path folder bin Anda (misalnya: / usr / local / bin)

3) Edit 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) Edit 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
mono
sumber
1

Anda juga dapat menggunakan sinkronisasi sql untuk cadangan.

$ drush sql-sync -v @site1 @site2
Sivaji
sumber
Ini adalah cara terbaik untuk membuat cadangan situs.
1

Sangat mudah sekarang dengan Drush 5

"Catatan: Drush 5 memperkenalkan perintah arsip-dump dan pengembalian arsip yang memungkinkan Anda untuk membuat cadangan kode, file, dan basis data ke dalam satu file."

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

frazras
sumber