NAME
mrb - manage incremental snapshots with rsync/make.
SYNOPSIS
mrb command
DESCRIPTION
mrb is a simple aid to creating efficient incremental snapshots of a
set, or sets, of directories whenever that may be required. It may be
used as part of a regular automated backup regime, or for manually
checkpointing changes at convenient points in time.
COMMANDS
The following commands are recognised (where ’MODULE’ is the name of
one of your snapshot definitions):
new-MODULE
Create a skeleton definition for a new snapshot ’MODULE’.
dest-MODULE
Create the destination dir for ’MODULE’. This directory must
exist to create a snapshot.
snap-MODULE
Create a snapshot of ’MODULE’.
sync Create snapshots of all defined modules. If run as root this
may be configured to include the modules of other users too (see
MRB_SYNC_USERS in ~/.mrb/defaults).
help Show mrb’s own help text.
CONFIGURATION FILES
Per-user configuration
The following files may be used to specify global and local
configuration options.
/etc/default/mrb
system default configuration.
~/.mrb/defaults
per-user configuration.
Per-user options
The following options control behaviour for all of a user’s modules.
MRB_SNAPSHOT_LOG
An optional file path where transfer details will be recorded.
If unset these details will not be logged.
MRB_SYNC_USERS
A space separated list of users whose modules should be included
in a sync. This is mostly only useful for root, as mrb will
assume the identity of each user before creating snapshots of
their modules. If unset, only the invoking user’s modules will
be sync’ed.
MRB_CONFDIR
An space separated list of the directories to search for module
definition (*.mrc) files. They will be searched in the order
given, with new modules added by default to the last one listed.
There should be few reasons to change the default value.
Per-module configuration
The default MRB_CONFDIR value will search for module definitions in:
/etc/mrb/*.mrc
~/.mrb/*.mrc
Those created by new-MODULE will be placed in this latter
location by default.
Per-module options
In each case module below is the name of the particular module that the
value set should apply to. These options should be defined in a file
named module.mrc.
module_SRC
A space separated list of the files and (top level) directories
to include in the snapshots for this module.
module_DEST
The directory root where snapshots of module should be stored.
module_INCLUDE
An optional list of rsync(1) include patterns.
module_EXCLUDE
An optional list of rsync(1) exclude patterns.
module_FILTER
An optional list of rsync(1) filter patterns.
module_FILTER_FILE
An optional filename for rsync(1) dir-merge filtering support.
module_RSYNC_OPTIONS
Optional additional rsync(1) options to pass verbatim when it is
invoked.
module_PRECOMMAND
An optional shell command to invoke just prior to creating a new
snapshot. If the command does not return a successful exit
status, then the snapshot creation will be aborted before it
begins. It may be used to mount removable media or similar.
module_POSTCOMMAND
An optional shell command to execute after making the snapshot.
It will not be called if the snaphot creation failed at an
earlier stage, and its return status may halt a sync operation
if it fails with more modules still to process. It may be used,
for example, to unmount removable media again.
module_USER
An optional user name to check that mrb is running as before
performing a snapshot. This can be used to ensure you have the
correct permisson to access the files being mirrored before you
get too far.
SEE ALSO
rsync(1), make(1).
AUTHOR
mrb was written by Ron <ron@debian.org>.
May 9, 2006