/ Tech

bupper - A bup profile manager

bup is a backup tool based on git's packfile format. I use it every day and I'm very happy with it, except it's handling of the commandline task and that there is no way to just do a backup with all needed things (like pre- and post-backup tasks) in one command.

This now changes with a small new tool: bupper, a bup profile manager. It's written in Ruby, as I'm currently learning to write scripts in Ruby. So bear with me for it's ugliness.

A little story about the name: If someone has a denture and does not wear it and tries to say "super" (in German pronunciation), it sounds like "bupper" (also in German pronunciation). So the tool can also be called: super bup.

Features

  • Configuration in a YAML file, saved under /etc/bupper.yml
  • Pre- and post-backup scripts
  • Remote or local backups
  • Logfile for every steps it takes
  • Profiles for different backups. F.e. backup /etc once a week to server1 and /home daily to server2.
  • Backups are as easy as bupper backup
  • Restore help when running bupper restore

How do I use it - or read the README

Everything is documented in the README file. I tried to write this little tool with the Readme Driven Development pattern in mind. So I first wrote the README and then started to code it. This was a nice experience, so I did not forget any feature. During coding I had to alter the README several times and after finishing the script the README got some more love. The next time I create a script with this pattern I need to put more time in writing the README, it really helps a lot during the implementation.

So just read the README and try to use it. If something is not clear, it's a bug and needs to be fixed in the README.