2011-10-10 2 views
2

는 다음을 수행하는 것이 가능 레일에서 MySQL 데이터베이스를 복원하려면 다음과 레일 3 응용 프로그램 3에서 MySQL 데이터베이스의 2. 증분 데이터베이스 백업 레일 3 응용 프로그램에서 MySQL 데이터베이스의 1. 핫 데이터베이스 백업. Rails 3 애플리케이션에서 mysql 데이터베이스의 콜드 데이터베이스 백업 4. Rails 3 애플리케이션을 통해 위의 데이터베이스 (Hot, incremental 및 Cold)를 복원하십시오.어떻게 백업 및 3

이 작업을 수행하는 방법을 알려주십시오.

감사합니다. Sudhir C.N.

+0

도움이 될 수도 있습니다. http://trevorturk.com/2010/04/14/automated-heroku-backups/ heroku를 사용하는 경우 – Hishalv

+0

아니요, heroku를 사용하지 않습니다. – sudhir

답변

4

일부 cronjob을 설정하십시오. 나는 그들을 쓰기 위해 Whenever을 사용하고 싶다. 하루에 한 번이 bash 스크립트를 실행합니다.

#!/bin/bash 

BACKUP_FILENAME="APPNAME_production_`date +%s`.gz" 
mysqldump -ce -h MYSQL.HOST.COM -u USERNAME -pPASSWORD APPNAME_production | gzip | uuencode $BACKUP_FILENAME | mail -s "daily backup for `date`" [email protected] 

echo -e "\n====\n== Backed up APPNAME_production to $BACKUP_FILENAME on `date` \n====\n" 

출력을 cron.log으로 출력합니다. 이것은 당신의 목적에 대해 약간의 조정이 필요할 수도 있지만, 일단 당신이 그것을 얻으면 훌륭하게 작동합니다. 하루에 한 번 백업본을 gzip 파일로 전자 메일로 보내면 데이터베이스가 상당히 크고 파일이 현재 2000kb 미만입니다.

가장 안전한 방법은 아니기 때문에 누군가가 전자 메일을 받고 (중요한 정보가 암호화되어 있어야하는) 백업에 액세스 할 수 있다고 염려한다면 다른 사람을 찾아야합니다. 해결책.

복원하려면

gzip -d APPNAME_production_timestamp.gz 
mysql -u USERNAME -pPASSWORD APPNAME_production < APPNAME_production_timestamp.sql 

또는 유사한 무언가를 ... 그래서 난 내 머리 위로 떨어져이 일을 모르는 나는 종종 복원 할 필요는 없지만, 빠른 구글 검색을 설정해야 이것이 작동하지 않으면 뭔가를하십시오.