Making a stand-alone rsync appliance.
October 11, 2005 11:54 AM
Subscribe
Is there a distribution of a linux-like OS which turns hardware into an easy-to-configure rsync appliance?
I have a client (web dev agency) whose president wants 'on site backups of all of the websites we host'. They had issues with less-than-clueful providers, I guess. They're not interested in switching their hosting provider.
She essentially wants to be able to point to a box in her office and say 'our backups of all of the sites we're responsible for live here'. I don't work at this office, so I'd like to be able to control this 'remote backup appliance' via a web-admin or VNC or some such. If I have no other choice but to be on-site, that's okay, but not optimal.
I have a Shuttle-size PC available to me for this project (p3, 256MB, 80GB mirrored HDDs.) My original plan was to install a flavor of linux, then make some shell scripts to do simple wget requests on a regular (perhaps daily) basis. Some research revealed that the aggregate file size to transfer was ~1.5 TB range. This office has only business-class cable modem service (5Mb down).
Now I'm thinking about implementing rsync, which I need to learn more about. The client claims to have root on their server at the ISP, so if I need to install sw to support rsync, that shouldn't be a problem.
My previous experience is with Mac OS X Server, where turning on services is as easy as clicking a button. I have enough unix experience to get around a shell, but not enough to know where all of the config files, etc. live for various services.
I need to be able to ssh into this box and set up cron scripts to fire rsync events, but if there were a web interface for this kind of thing, all the better.
Basically, I don't want to go through the effort of manually writing the scripts if there's a smarter way to achieve my goal.
posted by Wild_Eep to computers & internet (13 comments total)
Anyway, I backup all my clients websites this way. I have a script that I wrote, but the only reason I have a script is that certain parts need to get backed up more than others, so I have a script that runs daily, which checks the last time each update was made, and only runs rsync for the ones which have gone past their expiration window.
The basic syntax you want is something like
rsync -av remotehost:/path/to/remote/directory /path/to/local/directory
that's it. Put that in cron.
You might want to tweak it a little bit, like maybe add --delete to the options so that if a file is removed from the server it'll be removed from the client also. I don't do this so that I can recover from accidental deletions, generally.
posted by RustyBrooks at 12:09 PM on October 11, 2005