it-swarm-vi.com

Có phải drush up làm một cơ sở dữ liệu sao lưu / kết xuất?

Có chạy drush up chạy sao lưu cơ sở dữ liệu? Từ thử nghiệm, có vẻ như nó không. Tôi có nên thực hiện sao lưu cơ sở dữ liệu riêng trước khi chạy drush up cập nhật?

13
user1359

Không, nó không có. Nó chỉ tạo một bản sao lưu của các thư mục mô-đun hiện tại, trước khi nó thay thế chúng.

Để tạo một bãi chứa sql, sử dụng

drush sql-dump > filename.sql.

Nhưng hãy nhớ di chuyển tệp bên ngoài webroot của bạn.

7
Berdir

Để thực hiện đã giải nén mysql kết xuất với drush :

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

Cập nhật từ nhận xét của wranvaud: Nếu bạn không chỉ định tệp kết quả, nó sẽ được lưu trên thư mục nhà của bạn trong: ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz, nếu không, bạn có thể chỉ định --result-file = '~/Documents /'

8
milkovsky

Nếu bạn đã cài đặt mô-đun Sao lưu và di chuyển , bạn có thể gọi nó từ Drush với

$ drush bam-backup

5
Wrashi

Đây là một giải pháp tập lệnh bash để Sao lưu và Khôi phục từ dòng lệnh với drush Acquia-Drupal:

  • Lưu ý: Bạn chỉ phải thay đổi basepath, tên trang web và có thể drushpath trong cả hai tập lệnh để phù hợp với nhu cầu của bạn
  • Lưu ý 2: Tập lệnh sao lưu sẽ tạo .tar chứa tệp trang web của bạn cộng với tệp data.sql mô tả cơ sở dữ liệu của bạn = =
  • Note3: Tập lệnh khôi phục sẽ chọn tệp sao lưu .tar cuối cùng được tạo bởi tập lệnh sao lưu

[~ # ~] hướng dẫn [~ # ~]

1) Tìm đường dẫn drush (drush được bao gồm trong attia), trong trường hợp của tôi (drushpath = "/ Ứng dụng/attia-drupal/drush")

2) Tạo bản sao lưu _ mysite tệp và khôi phục _ mysite tệp và đưa chúng vào đường dẫn thư mục bin của bạn (ví dụ:/usr/local/bin)

3) Chỉnh sửa sao lưu _ 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) Chỉnh sửa khôi phục _ 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
2
monojones

Bạn cũng có thể sử dụng đồng bộ hóa sql để sao lưu.

$ drush sql-sync -v @site1 @site2
1
Sivaji

Bây giờ rất dễ dàng với Drush 5

Lưu ý: Drush 5 đã giới thiệu các lệnh lưu trữ-kết xuất và khôi phục lưu trữ cho phép bạn sao lưu mã, tệp và cơ sở dữ liệu vào một tệp duy nhất. "

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

1
frazras