diff options
author | intrigeri <intrigeri@boum.org> | 2012-06-15 20:41:25 +0200 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2012-06-15 20:41:25 +0200 |
commit | 87fafa017b855b1aa665ff600a5ca7483091b120 (patch) | |
tree | d235c62c3fbdc632bb604fea4404468e842d5100 /handlers/rsync.in | |
parent | 9cba5db20b6298fddeb61457edc29b190de3d039 (diff) | |
parent | 713ec859fccd9546605c3e82c3bf2da9932a1d6a (diff) | |
download | backupninja-87fafa017b855b1aa665ff600a5ca7483091b120.tar.gz backupninja-87fafa017b855b1aa665ff600a5ca7483091b120.tar.bz2 |
Merge tag 'backupninja_upstream/1.0' into debian
Upstream version 1.0
Diffstat (limited to 'handlers/rsync.in')
-rw-r--r-- | handlers/rsync.in | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/handlers/rsync.in b/handlers/rsync.in index 386255e..f0df52f 100644 --- a/handlers/rsync.in +++ b/handlers/rsync.in @@ -275,8 +275,15 @@ function eval_config { mv=move_files fi - excludes=`echo "$exclude" | @SED@ -e "s/^/--exclude='/g" -e "s/ /' --exclude='/g" -e "s/$/'/"` - + set -o noglob + SAVEIFS=$IFS + IFS=$(echo -en "\n\b") + for i in $exclude; do + str="${i//__star__/*}" + excludes="${excludes} --exclude='$str'" + done + IFS=$SAVEIFS + set +o noglob } function rotate_short { @@ -1109,9 +1116,9 @@ for SECTION in $include; do set_dest info "Syncing $SECTION on $dest_path..." - debug $nice $rsync "${rsync_options[@]}" $filelist_flag "$excludes" $batch_option $orig $dest_path + debug $nice $rsync ${rsync_options[@]} $filelist_flag $excludes $batch_option $orig $dest_path set_pipefail - $nice $rsync "${rsync_options[@]}" $filelist_flag "$excludes" $batch_option $orig $dest_path | tee -a $log + $nice su -c "$rsync ${rsync_options[@]} --delete-excluded $filelist_flag $excludes $batch_option $orig $dest_path" | tee -a $log if [ "$?" != "0" ]; then fatal "Rsync error when trying to transfer $SECTION" |