Cella backup jobs are defined as a array of hashs in PERL. Each Job definition has an action (a); a source (s) and a target (t). If the target is missing or empty the target becomes $cella_dir/$job->{s}.

Standard Parameters

$cella_age
The amount of time to store backups for, used by rdiff only.
$cella_age = '21D'; # 21 Days
$cella_age = '6W';  # 6 Weeks
$cella_age = '2M';  # 2 Months
. See the rdiff-backup man page section on time formats for more information.
$cella_dir
The base directory for the Cella backups. Prepended to target unless target starts with /.

Job Parameters

a
Action: one of: cifs, pgsql, mysql, rdiff, rsync. Plus parameters, see examples below.
s
Source: a format compatible with the application or job type, see examples
t
Target: the destination

Configuration Examples

Typically configuration files will define age and base directory.

$cella_age = '15D';
$cella_dir = '/mnt/raid/#Cella/';

cifs Pull Remote

This option only works to pull data from a remote Windows system.

$cella_set[@cella_set] = {
    a => 'cifs',
    s => '//server/share/path/on/share',  # Source: compatible with Action
    t => "$cella_dir/etc/',   # Target: $cella_dir is pre-pended
};

rdiff Local

The local machine has /etc archived with rdiff-backup to $cella_dir/etc/.

$cella_set[@cella_set] = {
    a => 'rdiff',  # Action: rdiff
    s => '/etc/',  # Source: compatible with Action
    t => 'etc/',   # Target: $cella_dir is pre-pended
};

rdiff Pull Remote

Pull /etc from the remote machine.

$cella_set[@cella_set] = {
    a => 'rdiff',
    s => 'user@host.lan::/etc/',  # Source: compatible with Action
    t => 'host.lan/etc/',         # Target: $cella_dir/host.lan/etc/
};

rdiff Push Remote

Push /etc to a remote machine.

$cella_set[@cella_set] = {
    a => 'rdiff',
    s => '/etc/',
    t => 'user@host.lan::/mnt/raid/this.lan/etc/',
};

rsync Local

The local machine has /etc archived with rdiff-backup to $cella_dir/etc/.

$cella_set[@cella_set] = {
    a => 'rsync',  # Action: rdiff
    s => '/etc/',  # Source: compatible with Action
    t => 'etc/',   # Target: $cella_dir is pre-pended
};

rsync Pull Remote

Pull /etc from the remote machine.

$cella_set[@cella_set] = {
    a => 'rsync',
    s => 'user@host.lan:/etc/',
    t => 'host.lan/etc/',
};

rsync Push Remote

Push /etc to a remote machine.

$cella_set[@cella_set] = {
    a => 'rsync',
    s => '/etc/',
    t => 'user@host.lan:/mnt/raid/this.lan/etc/',
};