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