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/',
};