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


Câu trả lời:


7

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.


Tôi muốn nhắc nhở mọi người thực hiện một kết xuất bên ngoài trang web gốc của bạn; nên tin tặc sẽ tránh xa.
chrisjlee

Câu trả lời "được chấp nhận" này là không chính xác. Trên thực tế, Drush cung cấp một bãi chứa cơ sở dữ liệu: "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2

Ừm. Hãy thử đọc câu trả lời một lần nữa. Tất cả của nó, không chỉ là câu đầu tiên. Bởi vì đó chính xác là những gì tôi đã viết. Câu hỏi là nếu "drush up" làm điều đó, không phải nếu drush có thể làm điều đó.
Berdir

8

Để thực hiện kết xuất mysql được nén bằng 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 /'


1
nếu bạn không chỉ định tệp kết quả, nó sẽ được lưu trong 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/<my_backups_folder>'
wranvaud

5

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


drush vốn hỗ trợ kết xuất cơ sở dữ liệu mà không cần thêm mô-đun, xem ở trên
wiifm

2

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

  • Lưu ý: Bạn chỉ phải thay đổi basepath, sitename và có thể drushpath trong cả hai script để 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 một tệp .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
  • Lưu ý 3: 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 tập tin backup_ mysite và restore_ mysite 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 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) 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

1

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

$ drush sql-sync -v @site1 @site2

Đây là cách tốt nhất để sao lưu một trang web.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.