【问题标题】:How to backup of deploy rails application from server?如何从服务器备份部署 Rails 应用程序?
【发布时间】:2017-03-30 18:33:50
【问题描述】:

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

【问题讨论】:

  • mysql 还是 sqlite3 ?
  • @Rohan 您需要将生产数据库的凭据和数据库名称复制到开发中。

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


【解决方案1】:

有两种备份方式。

  1. 使用 mysql 工作台 UI 工具通过 ssh 隧道连接数据库。
  2. 连接到 AWS EC2 并在其中自行备份并使用 scp 命令复制备份文件。

希望这对你有帮助。

【讨论】:

    【解决方案2】:

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

    在服务器中(你的情况是 AWS):

    制作一个定时任务,每天执行一个脚本来备份数据库

    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
    

    就这些了,希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2017-10-12
      相关资源
      最近更新 更多