Project: Automated offsite backups for an NSLU2 – part 4

11 November 2006

Previously in this series: Part 1, Part 2, Part 3.

I am trying to get my NSLU2 to back itself up automatically to Amazon S3. I currently know that in order to get this to work, the “slug” (as it’s affectionally known) will need to be upgraded with new firmware – basically, a new version of Linux. Just which of the many competing firmwares is appropriate will depend on the software I use to do the sync, and so it’s time to work through the various options presented in Jeremy Zawodny’s post and the comments people have left there.

  • Firstly, we have s3sync. This appears to be hosted at the S3 site, which is promising. However, it’s written in Ruby. I have nothing against the language – indeed, it’s next on the list of languages I want to learn – but it’s not precisely lightweight, and so would almost certainly mean that I cannot fit the complete boot image for the OS into its firmware; some stuff will need to go on the disk, and that feels somehow… inelegant. If the other options have the same constraint, then maybe this will be the one to go for. But for now I’ll see if there’s anything more lightweight.
  • Backup Manager looks like a nice tool for building full backups, which can then be pushed offsite. It’s written in Bash and Perl – the latter meaning that it would probably require as much stuff to be installed on the machine as Ruby would, so a bit of a problem there. When you combine this with the fact that it’s not really designed for simple synchronisation with offsite systems, it doesn’t sound quite like the kind of thing I’m looking for.
  • S3DAV does just what you’d expect it to do – it creates a WebDAV interface to your S3 account. This looks interesting. It’s written in Java, so would require quite a lot of stuff to be installed on the NSLU2 (I’m beginning to see a pattern here) and would require some kind of rsync-to-WebDAV software on top, however – so potentially more work than, say s3sync. Worth keeping an eye on, though, especially because…
  • …of Duplicity, which uses the rsync algorithm to produce “bandwidth-efficient” archives. Unfortunately, it’s not quite ready for prime-time: it “should continue to work fine until you depend on it for your business or to protect important personal data”. Again, one to check at a later date, perhaps.
  • Similarly, Fuse looks like it might be usable in some time – but “[n]o warranties and if you screw up then don’t blame me, this is pre-alpha code meaning it might not work or worse screw up your system.” So probably not safe for non-PC hardware.
  • Sync2S3 looks like a nice tool, but is closed-source Windows-only.
  • …as is S3 Backup
  • …and BigSafeBox
  • …and Altexa
  • JungleDisk does support Linux, but it’s closed-source with a binary distro – so I doubt it could be persuaded to work on the ARM processor on the NSLU2…
  • …and finally, SuperSync seems to be designed for music files only.

So, for my fairly low-level simple needs, it looks like there’s one clear winner – s3sync. This is going to need stuff to be installed on the NSLU2, but that’s true of any other option I saw.

The next steps? To play with s3sync on a regular Linux box so that I can work out how it is meant to operate normally, and to get a Ruby platform up and running on the NSLU2. The latter is likely to be the more difficult, so I’ll start looking at that first.

Next: Upgrading the firmware – a first look.