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 không?
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 không?
Câu trả lời:
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.
Để 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 /'
--result-file='~/Documents/<my_backups_folder>'
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
Đâ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 drush và Acquia -Drupal :
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
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. "