Skip to content
Snippets Groups Projects
Commit 19b4b83f authored by elijah's avatar elijah
Browse files

created

parent 27e64209
No related branches found
No related tags found
No related merge requests found
#
# duplicity script for backupninja
# requires duplicity
#
getconf password
getconf options
getconf keep 60
getconf include
getconf exclude
getconf desthost
getconf destdir
getconf destuser
destdir=${destdir%/}
[ "$destdir" != "" ] || fatal "Destination directory not set"
[ "$include" != "" ] || fatal "No source includes specified"
[ "$password" != "" ] || fatal "No password specified"
# see if we can login
debug "ssh -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'"
if [ ! $test ]; then
result=`ssh -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1' 2>&1`
if [ "$result" != "1" ]; then
fatal "Can't connect to $desthost as $destuser."
fi
fi
if [ "`echo $keep | tr -d 0-9`" == "" ]; then
keep="${keep}D"
fi
execstr_serverpart="scp://$destuser@$desthost/$destdir"
execstr_clientpart="/"
execstr="$options --no-print-statistics --remove-older-than $keep "
# excludes
for i in $exclude; do
str="${i//__star__/*}"
execstr="${execstr}--exclude $str "
done
# includes
for i in $include; do
str="${i//__star__/*}"
execstr="${execstr}--include $str "
done
# exclude everything else, start with root
#execstr="${execstr}--exclude '**' / "
# include client-part and server-part
#execstr="$execstr $execstr_serverpart"
execstr=${execstr//\\*/\\\\\\*}
debug "duplicity $execstr --exclude '**' / $execstr_serverpart"
if [ ! $test ]; then
PASSPHRASE=$password
export PASSPHRASE
output=`duplicity $execstr --exclude '**' / $execstr_serverpart 2>&1`
code=$?
if [ "$code" == "0" ]; then
debug $output
info "Duplicity finished successfully."
else
warning $output
warning "Duplicity failed."
fi
fi
return 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment