diff options
-rw-r--r-- | files/sync-backups | 21 | ||||
-rw-r--r-- | manifests/init.pp | 9 |
2 files changed, 30 insertions, 0 deletions
diff --git a/files/sync-backups b/files/sync-backups new file mode 100644 index 0000000..b75fe90 --- /dev/null +++ b/files/sync-backups @@ -0,0 +1,21 @@ +#!/bin/bash +# +# sync a removable volume with system backups. +# + +NODE="$1" +MEDIA="/media/usb" +BWLIMIT="5000" +RSYNC="nice -n 19 rsync -av --delete --bwlimit=$BWLIMIT" + +if [ ! -z "$NODE" ]; then + for node in `ls /var/vservers/$NODE/var/backups/remote/`; do + $RSYNC /var/vservers/$NODE/var/backups/remote/$node/ /$MEDIA/$node/ + done +else + $RSYNC /var/backups/duplicity/ /$MEDIA/$HOSTNAME/ + + for node in `ls /var/backups/remote/`; do + $RSYNC /var/backups/remote/$node/ /$MEDIA/$node/ + done +fi diff --git a/manifests/init.pp b/manifests/init.pp index 7ce4043..236751a 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -129,6 +129,15 @@ class backup { source => "puppet://$server/modules/backup/handlers/rsync", } + # sync-backups script + file { "/usr/local/sbin/sync-backups": + owner => root, + group => root, + mode => 0755, + ensure => present, + source => "puppet://$server/modules/backup/sync-backups", + } + # default backupninja::rdiff configuration define rdiff($port = '22', $ensure = present, $installkey = true) { backupninja::rdiff { "rdiff-$title.$domain": |