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>.