급상승은 데이터베이스 백업 / 덤프를 수행합니까?


답변:


7

아닙니다. 현재 모듈 디렉토리를 대체하기 전에 만 백업합니다.

SQL 덤프를 만들려면

drush sql-dump > filename.sql.

그러나 파일을 webroot 외부로 이동해야합니다.


사람들에게 귀하의 웹 사이트 루트 외부에서 덤프를하도록 상기시키고 싶습니다. 해커는 멀리 떨어져있을 것입니다.
chrisjlee

이 "허용 된"답변이 올바르지 않습니다. 실제로 Drush는 데이터베이스 덤프를 제공합니다. "drush sql-dump" drushcommands.com/drush-7x/sql/sql-dump
sea26.2

음 답을 다시 읽으십시오. 첫 번째 문장뿐만 아니라 모든 것이 있습니다. 그것이 내가 쓴 것과 정확히 일치하기 때문입니다. 문제는 "돌진"이 아니라면 돌진이 할 수있는 것이 아니라는 것이었다.
Berdir

8

drush로 gzipped mysql 덤프 를 만들려면 :

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

wranvaud의 주석에서 업데이트 : 결과 파일을 지정하지 않으면 결과 파일이 홈 폴더에 저장됩니다 : ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz, 그렇지 않으면 --result-file = '~ / Documents /'


1
결과 파일을 지정하지 않으면 ~ / drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz 아래 홈 폴더에 저장됩니다. 그렇지 않으면--result-file='~/Documents/<my_backups_folder>'
wranvaud

5

당신이있는 경우 백업 및 마이그레이션 모듈 모듈이 설치, 당신과 함께 Drush에서 호출 할 수 있습니다

$ drush bam-backup


drush는 추가 모듈없이 데이터베이스 덤프를 기본적으로 지원합니다. 위 참조
wiifm

2

이것은 drushAcquia-Drupal을 사용 하여 명령 줄에서 백업 및 복원하는 bash 스크립트 솔루션입니다 .

  • 참고 : 필요에 따라 두 스크립트에서 basepath, sitename 및 drushpath 만 변경하면됩니다.
  • 참고 2 : 백업 스크립트는 사이트 파일과 데이터베이스를 설명하는 data.sql 파일을 포함하는 .tar를 만듭니다.
  • 참고 3 : 복원 스크립트는 백업 스크립트에 의해 생성 된 마지막 .tar 백업 파일을 선택합니다

명령

1) 제 경우에는 drush 경로를 찾으십시오 (drush는 acquia에 포함되어 있습니다) (drushpath = "/ Applications / acquia-drupal / drush")

2) backup_ mysite 파일과 restore_ mysite 파일을 작성하여 bin 폴더 경로에 포함하십시오 (예 : / usr / local / bin).

3) 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) 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

1

백업에 sql-sync를 사용할 수도 있습니다.

$ drush sql-sync -v @site1 @site2

이것이 사이트를 백업하는 가장 좋은 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.