我需要为我的rails应用程序制作备份系统,但这必须有点特别:它不必备份所有数据库信息和单个文件或文件夹中的文件但它必须备份数据库信息和附件文件每个用户。我的意思是,每个备份都应该能够为一个用户重新生成所有信息和文件。
我的问题是: 这可能吗?最好的方法是什么?而且,如果它根本不可能或一个坏主意,为什么呢?
注意:数据库是MySQL数据库。
注2:我使用Paperclip
进行用户上传。
答案 0 :(得分:0)
我猜你有一个备份数据的应用,当用户点击某些内容时?我正在考虑将所有信息连接到用户(取决于你如何使用用户模型,所以也许你应该有一个get_all_info方法)然后以sql格式将其写入一个文件,你保存为.sql。 (使用File.new或Logger.new)
答案 1 :(得分:0)
我会将整个用户对象和相关对象转储到单个xml文件转储中。在您创建XML时,请抓取所有文件并将XML +所有文件写入一个目录,然后压缩它们。
我认为确实有一些用例具有这样的功能,但一定要让它在后台进程中运行,并且仅在需要时才能使Web服务器陷入困境。请查看http://github.com/tobi/delayed_job或http://github.com/defunkt/resque。