我需要为我的Rails应用制作一个备份系统,但这必须有点特别:它不必备份所有数据库信息和文件在一个文件或文件夹中,但它必须备份数据库信息和附件文件每个用户。我的意思是,这些备份中的每一个都应该能够重新生成单个用户的所有信息和文件。备份Rails应用程序数据的最佳方式是什么?
我的问题是: 这可能吗?什么是最好的方式来做到这一点?而且,如果它根本不可能或者是一个坏主意,为什么呢?
注:该数据库是一个MySQL的。 注2:我用Paperclip
为用户上传。
我需要为我的Rails应用制作一个备份系统,但这必须有点特别:它不必备份所有数据库信息和文件在一个文件或文件夹中,但它必须备份数据库信息和附件文件每个用户。我的意思是,这些备份中的每一个都应该能够重新生成单个用户的所有信息和文件。备份Rails应用程序数据的最佳方式是什么?
我的问题是: 这可能吗?什么是最好的方式来做到这一点?而且,如果它根本不可能或者是一个坏主意,为什么呢?
注:该数据库是一个MySQL的。 注2:我用Paperclip
为用户上传。
我猜你有一个备份数据的应用程序,当用户点击正确的东西?我想让所有的信息连接到用户(取决于你如何做你的用户模型,所以也许你应该有一个get_all_info方法),然后以sql格式写入一个文件,你保存为.sql。 (使用File.new或Logger.new)
我会将整个用户对象和相关对象转储到单个xml文件转储中。在您创建XML时,会抓取所有文件并将XML +所有文件写入一个目录,然后对其进行压缩。
我认为确实有这样的功能的使用情况,但一定要让它在后台进程中运行,并且只有在需要时才能运行,以避免停止Web服务器。看看http://github.com/tobi/delayed_job或http://github.com/defunkt/resque。
是的,但用户的上传呢? - 我为此使用了“Paperclip”。 – 2010-09-03 14:58:47