I’ve been struggling with trying to get a new backup routine working for my Laptop. I should point out that I have several complex requirements for backup so my needs are probably not average. However, it really shouldn’t be this hard! I need to use a combination of BZR (Bazaar) for document version control and RSYNC (for files that don’t need version control and for those folders that might contain files too big for version control systems – around 1⁄3 to 1⁄2 available memory).
A good backup strategy for any computer involves keeping control of where stuff is stored. The fewer locations that contain files that change, the fewer locations have to be maintained. UNIX users have always had the ability to keep things wherever they wanted and then to LINK that information into the required location. Basically, links create a link or tunnel between one file or folder and another. Most of the time, you will not notice that you’ve entered a tunnel and you are not interested really.
Version control systems (VCS, or Revision Control Systems or Source Control Systems) are designed for software developers. They enable one or more people to work on source code, annotate changes, split and merge the code, link to bug tracking systems and a number of other things that are interesting to developers but not to most people! Indeed then, for most people, you might expect that version control systems are not interesting at all.
Following up from my article on backing up USB drives, this recipe backs up the critical files on my desktop to remote storage (a NAS device on my network). Note that PC2 is the desktop to be backed up, SLUG1 (192.168.1.2) is the NAS device and USER1 is the user id doing the backup. #!/bin/bash # Backup Key PC2 files to Slug1 # Sync 2007 picture folders ##rsync -rl /home/user1/pictures/2007/ user1@192.
USB Drives of all kinds need to be backed up and the best backup is an automatic one (it’s the only way to make sure that it gets done!). So here is one recipe for doing just that using RSYNC and some BASH scripting magic. I’ve split this into two files. You don’t have to do this of course and one may well be better for you. I used two because I can run the second one manually as well.