是否可以执行以下操作: 1.从Rails 3应用程序的mysql数据库的热数据库备份 2.从Rails 3应用程序增加mysql数据库的数据库备份 3.从Rails 3应用程序对mysql数据库进行冷数据库备份 4.通过Rails 3应用程序恢复上述任何数据库(热,增量和冷)。
请告诉我如何实现这一目标?
谢谢, Sudhir C.N。
答案 0 :(得分:5)
设置一些cronjobs。我喜欢使用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`" webmaster@yourdomain.com
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
或者类似的东西......我不需要经常恢复,所以我不知道这个问题,但是如果这不起作用的话,快速谷歌搜索会出现问题。