From 72ba0a38cd400256f00514b264d3e060249a077d Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Tue, 31 Aug 2010 14:20:37 +0200 Subject: [PATCH] set-backup --- debian/install | 2 +- defaults.conf | 2 +- set-backup | 33 ++++++++++++++++++++++++--------- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/debian/install b/debian/install index 44ac724..b52c448 100644 --- a/debian/install +++ b/debian/install @@ -1,3 +1,3 @@ -remote-backup /usr/bin/ +set-backup remote-backup /usr/bin/ defaults /etc/remote-backup/ remote-backup.example.* /usr/share/remote-backup diff --git a/defaults.conf b/defaults.conf index 41f21e3..bb0410d 100644 --- a/defaults.conf +++ b/defaults.conf @@ -1,5 +1,5 @@ REMOUNT=false -MOUNT_DEVICE=none +MOUNT_DEVICE= SNAPSHOT_RW=/var/backups REMOTE_LOCATION="" EXCLUDES=/dev/null diff --git a/set-backup b/set-backup index 26db03c..df83338 100755 --- a/set-backup +++ b/set-backup @@ -42,15 +42,30 @@ done [ -z "$loc_REMOTE_LOCATION" -o -z "$loc_NAME" ] && usage -[ ! -d "/etc/remote-backup/$name" ] && mkdir "/etc/remote-backup/$name" +[ ! -d "/etc/remote-backup/$loc_NAME" ] && mkdir "/etc/remote-backup/$loc_NAME" +[ -z "$loc_REMOUNT" -a -z "$REMOUNT" ] && echo "Check config file" && exit 2 +[[ "$REMOUNT" == "true" ]] && [ -z "$loc_MOUNT_DEVICE" -a -z "$MOUNT_DEVICE" ] && echo "Check config file" && exit 2 +[ -z "$loc_SNAPSHOT_RW" -a -z "$SNAPSHOT_RW" ] && echo "Check config file" && exit 2 +[ -z "$loc_REMOTE_LOCATION" -a -z "$REMOTE_LOCATION" ] && echo "Check config file" && exit 2 +[ -z "$loc_EXCLUDES" -a -z "$EXCLUDES" ] && echo "Check config file" && exit 2 +[ -z "$loc_MAX_ROTATE" -a -z "$MAX_ROTATE" ] && echo "Check config file" && exit 2 +[ -z "$loc_BWLIMIT" -a -z "$BWLIMIT" ] && echo "Check config file" && exit 2 +for param in NAME REMOUNT MOUNT_DEVICE SNAPSHOT_RW REMOTE_LOCATION \ + MAX_ROTATE BWLIMIT +do + if [ -n "$(eval echo '$loc_'"$(echo $param)")" ] + then + eval echo $param='"$loc_'$(echo $param)'"' + fi +done > /etc/remote-backup/"$loc_NAME"/config -REMOUNT=__setbackup__REMOUT__ -MOUNT_DEVICE=__setbackup__DEVICE__ -SNAPSHOT_RW=__setbackup__SNAPSHOT__ -REMOTE_LOCATION="__setbackup__REMOTE__" -EXCLUDES=__setbackup__EXCLUDES__ -DEST=__setbackup__DEST__ -MAX_ROTATE=__setbackup__ROTATE__ -BWLIMIT=__setbackup__BWLIMIT__ # kBps +if [ ${#loc_EXCLUDE[@]} -gt 0 ] +then + echo EXCLUDES=/etc/remote-backup/"$loc_NAME"/excludes >> /etc/remote-backup/"$loc_NAME"/config + for indice in ${!loc_EXCLUDE[@]} + do + echo "${loc_EXCLUDE[$indice]}" + done > /etc/remote-backup/"$loc_NAME"/excludes +fi