diff options
author | Elijah Saxon <elijah@riseup.net> | 2005-01-19 19:39:14 +0000 |
---|---|---|
committer | Elijah Saxon <elijah@riseup.net> | 2005-01-19 19:39:14 +0000 |
commit | b29b969b86d68d9fa0a70c6fd0b826cbb0ab49b2 (patch) | |
tree | 33f83328d6e20a95ebb4c502b4c1d4582c8ed9d8 | |
parent | c11ba1a2e1f45c891054e5f58c1d320368bd8cdc (diff) | |
download | backupninja-b29b969b86d68d9fa0a70c6fd0b826cbb0ab49b2.tar.gz backupninja-b29b969b86d68d9fa0a70c6fd0b826cbb0ab49b2.tar.bz2 |
added options, keep passed directly to rdiff-backup
-rw-r--r-- | etc/backup.d/example.rdiff | 6 | ||||
-rw-r--r-- | handlers/rdiff | 44 |
2 files changed, 29 insertions, 21 deletions
diff --git a/etc/backup.d/example.rdiff b/etc/backup.d/example.rdiff index f0b9afb..476cf5a 100644 --- a/etc/backup.d/example.rdiff +++ b/etc/backup.d/example.rdiff @@ -1,4 +1,7 @@ +## passed directly to rdiff-backup +# options = --force + ###################################################### ## source section ## (where the files to be backed up are coming from) @@ -12,7 +15,8 @@ label = thishostname type = local # how many days of data to keep -keep = 185 +# (you can also use the time format of rdiff-backup, e.g. 6D5h) +keep = 60 # files to include in the backup # (supports globbing with '*') diff --git a/handlers/rdiff b/handlers/rdiff index 90ca2a3..730e660 100644 --- a/handlers/rdiff +++ b/handlers/rdiff @@ -3,11 +3,13 @@ # requires rdiff-backup # +getconf options + setsection source getconf type; sourcetype=$type getconf label getconf user root; sourceuser=$user -getconf keep +getconf keep 60 getconf include getconf exclude @@ -55,30 +57,32 @@ execstr_clientpart="/" ## REMOVE OLD BACKUPS -if [ "$keep" -gt "0" ]; then - removestr="rdiff-backup --force --remove-older-than ${keep}D " - if [ "$desttype" == "remote" ]; then - removestr="${removestr}${destuser}@${desthost}::" - fi - removestr="${removestr}${destdir}/${label}"; - - debug "su $sourceuser -c '$removestr'" - if [ ! $test ]; then - output=`su $sourceuser -c "$removestr" 2>&1` - code=$? - if [ "$code" == "0" ]; then - debug $output - info "Removing backups older than $keep days succeeded." - else - warning $output - warning "Failed removing backups older than $keep." - fi +if [ "`echo $keep | tr -d 0-9`" == "" ]; then + keep="${keep}D" +fi + +removestr="rdiff-backup --force --remove-older-than $keep " +if [ "$desttype" == "remote" ]; then + removestr="${removestr}${destuser}@${desthost}::" +fi +removestr="${removestr}${destdir}/${label}"; + +debug "su $sourceuser -c '$removestr'" +if [ ! $test ]; then + output=`su $sourceuser -c "$removestr" 2>&1` + code=$? + if [ "$code" == "0" ]; then + debug $output + info "Removing backups older than $keep days succeeded." + else + warning $output + warning "Failed removing backups older than $keep." fi fi ## EXECUTE ## -execstr="$RDIFFBACKUP --print-statistics " +execstr="$RDIFFBACKUP $options --print-statistics " # TODO: order the includes and excludes |