如何从服务器备份部署rails应用程序?

时间:2017-03-30 07:03:21

标签: ruby-on-rails ruby amazon-web-services amazon-ec2

您好我在AWS EC2上托管的rails应用程序上有一个ruby,它使用mysql3作为数据库。现在我必须将数据库备份到我的本地计算机。

2 个答案:

答案 0 :(得分:0)

有两种方法可以进行备份。

  1. 使用mysql workbench UI工具通过ssh tunnel连接数据库。
  2. 连接到AWS EC2并在那里进行备份,并使用scp命令复制备份文件。
  3. 希望这对你有所帮助。

答案 1 :(得分:0)

我使用PostgreSql的DigitalOcean应用程序做了同样的事情,这就是我做的,因为你需要一个ssh连接,无处不在(DigitalOcean ......可能还有亚马逊)解释了如何做到这一点

在服务器中(在您的情况下为AWS):

让cron每天执行一个脚本来备份数据库

crontrb -e 

并添加,以便每天23:00执行复制

 23 * * * sh /home/rails/backup/backup_dump.sh

创建/home/rails/backup/backup_dump.sh

NOW=$(date +"%d")
FILE="app_production_$NOW.sql"
pg_dump -U rails -w app_production > /home/rails/backup/$FILE
  • 当然pg_dump是我用来备份我的PostgreSql数据库的,在你的情况下用MySQL需要另外一个

在您的本地计算机中:

/etc/cron.daily目录中添加包含从AWS备份文件中恢复的脚本文件,并填充:

NOW=$(date +"%d") # date - 1... the day before, don't remeber the script sintax
scp -r root@ip_server:/home/rails/backup/app_production_$NOW.sql /local_machine/user/local_backups

就是这样,我希望能帮到你