views:

39

answers:

2

I need to make a backup system for my rails app but this has to be a little special: It doesn't have to back up all the database info and files in a single file or folder but it has to back up the database info and attachment files per user. I mean, every one of this backups should be able to regenerate all the information and files for one single user.

My questions are: Is this possible? What's the best way to do it? And, if it's impossible or a bad idea at all, why is it?

Note: The database is a MySQL one. Note2: I used Paperclip for the users uploads.

A: 

Im guessing you have an app that backs up data, when a user clicks on something right? I'm thinking get all the info connected to the user(depends on how you did your user model, so maybe you should have a get_all_info method) then write it out in sql format to a file, which you save as .sql. (either using File.new or Logger.new)

corroded
Yeah, but what about the user's uploads? - I used `Paperclip` for this.
Erik Escobedo
A: 

I would dump the entire user object and related objects into a single xml file dump. As you go through the creation of the XML grab out all the files and write the XML + all files into one directory, then compress them.

I think there are definitely use cases to have a feature like this, but be sure to have it run in a background process and only when needed in order to not bog down the web server. Take a look at http://github.com/tobi/delayed_job or http://github.com/defunkt/resque.

benr75