mrb - Manage incremental data snapshots with make/rsync
||Debian 10 (Buster)
||Debian Main i386
||Ron Lee <firstname.lastname@example.org>
mrb is a single, self-documenting, executable makefile, which aims to make
trivial the task of maintaining a set of compact, incremental, rsync mirrors
of your important (and sometimes rapidly changing) data.
It relies only on the time-hardened industry tools GNU make and rsync.
Snapshots may be taken at any opportune interval. Multiple snapshot targets
can be configured in a modular fashion, so fast changing data can be separated
from static bulk data, with snapshots of each scheduled or triggered on demand,
as may be appropriate for each.
This package also includes gitkeeper, which is a tool for easy bidirectional
mirroring of 'installed' data files from a remote system to a local git
repository. It doesn't actually require you to keep the local files in git,
but if you do it supports restoring the remote system to any snapshot from
the repository. Likewise it allows you to explicitly configure the owner and
access permission that should be applied when pushing to the remote system
since they are not preserved by the versions stored in git.
To use gitkeeper you will need to install the suggested perl packages too.
- Update the package index:
# sudo apt-get update
- Install mrb deb package:
# sudo apt-get install mrb
2016-08-15 - Ron Lee <email@example.com>
mrb (0.3) unstable; urgency=medium
* Completely rewrite gitkeeper.
Since the version in 0.2 was never released, there is no attempt to remain
compatible with it. It was an interesting experiment but its shortcomings
were too serious to persist with that approach. This one is a much more
generic bidirectional mirroring helper, and is not only more powerful, but
easier to configure and use too. But the price of this is that it is now
written in perl instead of bash, and the configuration is structured JSON
instead of simple shell variables. As simple as possible, but no simpler
and all that. It is a better suited tool for this job.
* 10 year anniversary upload, to close the only bug reported since 0.1 was
released, that it didn't build with `dpkg-buildpackage -A`. That's been
fixed in git since 2008 though, so we just need to release it.
2014-07-04 - Ron Lee <firstname.lastname@example.org>
mrb (0.2) unstable; urgency=low
* Added the gitkeeper script. Remote administration and local backups have
more in common than might be first expected.
* Tweak mrb to permit pulling files from remote sources too.
* Sanity check new module names, limiting them to alphanumeric characters
and underscore. GNU make is getting more picky about what is allowed in
variable names, and it makes sense for us to as well.
* Add (more) vim swapfile extensions to the list of example excludes.
2006-05-09 - Ron Lee <email@example.com>
mrb (0.1) unstable; urgency=low
* Yes, the world is full of 'simple' backup systems already.
And the bts is simply full of old unfixed bugs that point
out the errors in their purported simplicity.
So here is yet another one, hopefully so simple that it
can't possibly ever have (m)any bugs of its own...
Hats off especially to Mike Rubel and jw for wanting the right
things and stirring this particular broth until my job was simple.