aboutsummaryrefslogtreecommitdiff
path: root/manifests/rdiff.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/rdiff.pp')
-rw-r--r--manifests/rdiff.pp31
1 files changed, 22 insertions, 9 deletions
diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp
index b32a262..1d171b2 100644
--- a/manifests/rdiff.pp
+++ b/manifests/rdiff.pp
@@ -16,21 +16,25 @@
# directories.
#
define backupninja::rdiff(
- $order = 90, $ensure = present, $user = false, $directory = false, $host = false,
+ $order = 90, $ensure = present, $user = false, $home = false, $host = false,
$type = 'local',
$exclude = [ "/home/*/.gnupg", "/home/*/.local/share/Trash", "/home/*/.Trash",
"/home/*/.thumbnails", "/home/*/.beagle", "/home/*/.aMule",
"/home/*/gtk-gnutella-downloads" ],
$include = [ "/var/spool/cron/crontabs", "/var/backups", "/etc", "/root",
"/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ],
- $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $ssh_dir_manage = true,
- $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true,
- $backuptag = false, $home = false, $backupkeytype = "rsa", $backupkeystore = false)
+ $vsinclude = false, $keep = 30, $sshoptions = false, $options = '--force', $ssh_dir_manage = true,
+ $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, $key = false,
+ $backuptag = false, $home = false, $backupkeytype = "rsa", $backupkeystore = false, $extras = false)
{
+ $real_backuptag = $backuptag ? {
+ false => "backupninja-$host",
+ default => $backuptag
+ }
+
+ $directory = "$home/rdiff-backup/"
include backupninja::client::defaults
- case $directory { false: { err("need to define a directory for where the backups should go!") } }
-
case $type {
'remote': {
case $host { false: { err("need to define a host for remote backups!") } }
@@ -42,10 +46,10 @@ define backupninja::rdiff(
backupninja::server::sandbox
{
- "${user}-${name}": user => $user, host => $host, dir => $real_home,
- manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir,
+ "${user}-${name}": user => $user, host => $fqdn, dir => $home,
+ manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir, key => $key,
authorized_keys_file => $authorized_keys_file, installuser => $installuser,
- backuptag => $backuptag, keytype => $backupkeytype, backupkeys => $backupkeystore,
+ backuptag => $real_backuptag, keytype => $backupkeytype, backupkeys => $backupkeystore,
}
backupninja::client::key
@@ -65,5 +69,14 @@ define backupninja::rdiff(
mode => 0600,
require => File["${backupninja::client::defaults::configdir}"]
}
+ include backupninja::rdiff-installed
+}
+
+class backupninja::rdiff-installed {
+ case $lsbdistcodename {
+ "etch": { $version = "1.2.5-1~bpo40+1" }
+ default: { $version = "installed" }
+ }
+ package { "rdiff-backup": ensure => $version }
}