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.