mirror of
https://github.com/deajan/obackup.git
synced 2025-02-05 19:03:50 +01:00
Another fix for symlinks to dirs on target
This commit is contained in:
parent
b0e7770df2
commit
efefe2df19
@ -23,6 +23,7 @@ KNOWN ISSUES
|
|||||||
CHANGELOG
|
CHANGELOG
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- Fixed another issue with existing symlinks to directories on target on non recursive backups
|
||||||
- Fixed remaining rsync -E option preventing obackup to work correctly on MacOS X
|
- Fixed remaining rsync -E option preventing obackup to work correctly on MacOS X
|
||||||
- Fixed an issue with existing symlinks to directories on target
|
- Fixed an issue with existing symlinks to directories on target
|
||||||
- Prevent changed IFS to make ping commands fail
|
- Prevent changed IFS to make ping commands fail
|
||||||
|
10
obackup.sh
10
obackup.sh
@ -5,7 +5,7 @@
|
|||||||
AUTHOR="(L) 2013-2014 by Orsiris \"Ozy\" de Jong"
|
AUTHOR="(L) 2013-2014 by Orsiris \"Ozy\" de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
PROGRAM_VERSION=1.84preRC4
|
PROGRAM_VERSION=1.84preRC4
|
||||||
PROGRAM_BUILD=1911201401
|
PROGRAM_BUILD=1911201402
|
||||||
|
|
||||||
## type doesn't work on platforms other than linux (bash). If if doesn't work, always assume output is not a zero exitcode
|
## type doesn't work on platforms other than linux (bash). If if doesn't work, always assume output is not a zero exitcode
|
||||||
if ! type -p "$BASH" > /dev/null
|
if ! type -p "$BASH" > /dev/null
|
||||||
@ -987,6 +987,10 @@ function Rsync
|
|||||||
if [ "$2" == "no-recurse" ]
|
if [ "$2" == "no-recurse" ]
|
||||||
then
|
then
|
||||||
RSYNC_EXCLUDE=$RSYNC_EXCLUDE" --exclude=*/*/"
|
RSYNC_EXCLUDE=$RSYNC_EXCLUDE" --exclude=*/*/"
|
||||||
|
# Fixes symlinks to directories in target cannot be deleted when backing up root directory without recursion
|
||||||
|
RSYNC_NO_RECURSE_ARGS=" -k"
|
||||||
|
else
|
||||||
|
RSYNC_NO_RECURSE_ARGS=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d $local_file_storage_path ]
|
if [ ! -d $local_file_storage_path ]
|
||||||
@ -1003,9 +1007,9 @@ function Rsync
|
|||||||
LogError "Connectivity test failed. Stopping current task."
|
LogError "Connectivity test failed. Stopping current task."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
rsync_cmd="$(type -p $RSYNC_EXECUTABLE) $RSYNC_ARGS --stats $RSYNC_DELETE $RSYNC_EXCLUDE --rsync-path=\"$RSYNC_PATH\" -e \"$RSYNC_SSH_CMD\" \"$REMOTE_USER@$REMOTE_HOST:$1\" \"$local_file_storage_path\" > $RUN_DIR/obackup_rsync_output_$SCRIPT_PID 2>&1"
|
rsync_cmd="$(type -p $RSYNC_EXECUTABLE) $RSYNC_ARGS $RSYNC_NO_RECURSE_ARGS --stats $RSYNC_DELETE $RSYNC_EXCLUDE --rsync-path=\"$RSYNC_PATH\" -e \"$RSYNC_SSH_CMD\" \"$REMOTE_USER@$REMOTE_HOST:$1\" \"$local_file_storage_path\" > $RUN_DIR/obackup_rsync_output_$SCRIPT_PID 2>&1"
|
||||||
else
|
else
|
||||||
rsync_cmd="$(type -p $RSYNC_EXECUTABLE) $RSYNC_ARGS --stats $RSYNC_DELETE $RSYNC_EXCLUDE --rsync-path=\"$RSYNC_PATH\" \"$1\" \"$local_file_storage_path\" > $RUN_DIR/obackup_rsync_output_$SCRIPT_PID 2>&1"
|
rsync_cmd="$(type -p $RSYNC_EXECUTABLE) $RSYNC_ARGS $RSYNC_NO_RECURSE_ARGS --stats $RSYNC_DELETE $RSYNC_EXCLUDE --rsync-path=\"$RSYNC_PATH\" \"$1\" \"$local_file_storage_path\" > $RUN_DIR/obackup_rsync_output_$SCRIPT_PID 2>&1"
|
||||||
fi
|
fi
|
||||||
#### Eval is used so the full command is processed without bash adding single quotes round variables
|
#### Eval is used so the full command is processed without bash adding single quotes round variables
|
||||||
if [ $verbose -eq 1 ]
|
if [ $verbose -eq 1 ]
|
||||||
|
Loading…
Reference in New Issue
Block a user