Invisible automatic backup?
April 21, 2009 7:04 AM   Subscribe

Want to build a backup/storage/print server for a home network that the users will never have to be aware of

Our desktop recently died of capacitor plague. Instead of simply replacing the desktop, we've been considering buying netbooks for the kids, likely running WinXP (we already have a laptop or two ourselves). At the core's going to be a lightweight machine, preferably running Linux that's going to handle storage (easy enough), printing (again), and the tricky part, backup.

Whenever they're connected to our home WiFi, I want their netbooks to automatically back up their data to the server, in case of disaster. More importantly, I don't want them to lift a finger or be aware of the process at all. Chronological backups like Time Machine wouldn't be a bad idea, but not necessary.
posted by ConstantineXVI to Computers & Internet (14 answers total) 9 users marked this as a favorite
Neat question. I know of a few ways to get this done, but none are completely invisible to the user.

This may help but it's going off the scheduler so if you aren't connected to the network at a set time you'll miss the backup.
posted by anti social order at 7:25 AM on April 21, 2009

To get you started, try looking at Zmanda and Bacula.
posted by devnull at 7:27 AM on April 21, 2009

One thing I've been looking into is just netbooting Linux directly from a centralized server and using NFS shares for all storage. Nothing would actually be on the client machine.
posted by odinsdream at 7:30 AM on April 21, 2009

You could also look at windows home server
posted by majortom1981 at 8:16 AM on April 21, 2009

I've been considering this question, slightly modified. There are about 20 backup solutions out there for linux with .deb packaging. On linux, a lot of backup tools are now based on rsync. You might find this guide relevant to the basics. It should be feasible to duplicate that technique on windows, and a relevant windows conversation here, as jwz is slightly hostile towards Microsoft.
posted by pwnguin at 9:43 AM on April 21, 2009

Take a look at Unison.
posted by recursion at 10:48 AM on April 21, 2009 [1 favorite]

Windows Home server was specifically made for this. It does automatic backups without any user intervention or need for setup. Print sharing is easy also.
posted by wongcorgi at 11:17 AM on April 21, 2009

Rsync scripts.

Install cygwin on your kids machines, design a batch script to rsync the backup folders, and somehow hook this to the "connect".

You could invoke these backup scripts remotely, triggered by the linux machine scanning syslog for DHCP messages. Hell, you could even have cygwin installed on their computers running SSHD. That way, the linux machine will indefinitely try to rsync, every 10 minutes or so (or, again, cleverly link this to log file analysis of your DHCP server).

Once the files are rsync'd to the linux box you can stop there. Or you can tar.gz the files up in a standard date format in any regular interval to create snapshots.

It's free and customizable, which is why I like it (and everything else about *nux).
posted by teabag at 12:24 PM on April 21, 2009

Thought about it a bit more.

I think the best way to do this is cygwin openSSH installed on client machines.

A cron script uses sed to parse new log messages, scanning for DHCP and an approved ip address indicating a connection. The sed script fires off the rsync script.

Done. Of course all of those links above my post look like a one shot solution. I guess I just like complicated ones more :(
posted by teabag at 12:27 PM on April 21, 2009

BackupPC for Linux is supposed to do this. It connects to the windows PCs as a SMB client with an administrative share to the target PCs. Plus it supposedly pools common files so that each new PC doesn't "cost" too much in storage. I haven't used it, but it seems to fit your needs perfectly. Just set up a "backup" user on the target PCs and tell the BackupPC service what the password is, and the clients never have to do anything.

Add the Samba service to it and have a shared directory or three for all your clients, plus use Samba to share your printers. Make the Samba server the master browser on your network, and it all happens automagically. You have to install ZERO software on your client PCs. Just make them part of the same workgroup, and they can browse to whatever they need.

I have a machine doing that, and it works perfectly.

(For linux to PC printer sharing, what you want to do is make the printers on the Linux machine "raw" queues. That means samba + cups or lpd simply passes the print jobs directly to the printer, unmolested. If you are really tricky, you can install the drivers on the Samba machine, and when a new client chooses a new printer, it will automatically "pop" the drivers down to it. I'm sure the pure linux way performs better, but not having to configure clients at all is a major headache reducer.)
posted by gjc at 6:41 PM on April 21, 2009

You can get windows xp pro to do the offline folder home directory thing (I think that is what it it is called) with a Samba server. You just have to set the right locking support on the share. It's been a while since I used it, but as I recall, when you set it up, it syncs up the local copy and the server. All reads and writes happen on the local copy, and then are propagated immediately to the server if its available, or are queued up and automatically synced when connectivity is restored.
posted by Good Brain at 11:45 PM on April 21, 2009

Oh yeah, forgot about printing. CUPSd should be able to handle everything you need right out of the package. I was actually surprised by how easy it was. Share it with Samba. And yes, @ gjc, Samba can host drivers for you. It's called "Point n Print" and looks like it's documented in the advanced part of the CUPS docs.
posted by teabag at 9:09 AM on April 22, 2009

I had actually already planned on using Avahi/Bonjour for printer sharing. Used it to share from my Mac to our laptops, was quite impressed. IIRC, Ubuntu supports sharing via Avahi.

The offline profiles sounds like the route I may be going down. I'm considering combining that with Subversion on the server end to be even more bulletproof.
posted by ConstantineXVI at 6:48 AM on April 23, 2009

Er, make that "offline files"
posted by ConstantineXVI at 6:59 AM on April 23, 2009

« Older MS Access / SQL help please?   |   Cracking the sushi bar code Newer »
This thread is closed to new comments.