mirror of
https://github.com/deajan/obackup.git
synced 2025-05-10 20:23:41 +02:00
Backup files and directories reffered by symlinks
This commit is contained in:
parent
e828519c32
commit
dc784a2671
@ -3,7 +3,6 @@ SHORT FUTURE IMPROVEMENTS
|
|||||||
|
|
||||||
- Rewrite rsync exclude patterns using \"pattern\" instead of escaped chars
|
- Rewrite rsync exclude patterns using \"pattern\" instead of escaped chars
|
||||||
- Clean most of recursive task creation code
|
- Clean most of recursive task creation code
|
||||||
- Add symlink support (-L) and edit find -xtype d instead of -type d (xtype won't work with FreeBSD)
|
|
||||||
|
|
||||||
KNOWN ISSUES
|
KNOWN ISSUES
|
||||||
------------
|
------------
|
||||||
@ -16,12 +15,14 @@ UNDER WORK
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
- Commands like cp should have their stderr redirected to log file
|
- Commands like cp should have their stderr redirected to log file
|
||||||
- Mysqldump must be checked for not telling success if a table is damaged
|
- Mysqldump must be checked for not telling success if a table is damaged (also check for event table error)
|
||||||
|
|
||||||
|
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
- WARNING: Default behavior is now to copy the referrent files and directories from symlinks (this can reach files outside the backup root)
|
||||||
|
- Recursive directory search now includes symlinks (find -L option. -type d cannot be replaced by -xtype d because of portability issues with BSD)
|
||||||
- Dry mode does not create target directories anymore
|
- Dry mode does not create target directories anymore
|
||||||
- Dry mode also tries mysqldumps now (check for error messages being logged)
|
- Dry mode also tries mysqldumps now (check for error messages being logged)
|
||||||
- Added experimental partial download support
|
- Added experimental partial download support
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
###### Remote (or local) backup script for files & databases
|
###### Remote (or local) backup script for files & databases
|
||||||
###### (L) 2013 by Ozy de Jong (www.netpower.fr)
|
###### (L) 2013 by Ozy de Jong (www.netpower.fr)
|
||||||
###### Config file rev 2411201401
|
###### Config file rev 2711201401
|
||||||
|
|
||||||
## ---------- GENERAL BACKUP OPTIONS
|
## ---------- GENERAL BACKUP OPTIONS
|
||||||
|
|
||||||
@ -121,6 +121,14 @@ PRESERVE_ACL=no
|
|||||||
## Preserve Xattr. MAke sure source and target FS can hold same Xattr or you'll get loads of errors.
|
## Preserve Xattr. MAke sure source and target FS can hold same Xattr or you'll get loads of errors.
|
||||||
PRESERVE_XATTR=no
|
PRESERVE_XATTR=no
|
||||||
|
|
||||||
|
## Transforms symlinks into referent files/dirs
|
||||||
|
COPY_SYMLINKS=yes
|
||||||
|
## Treat symlinked dirs as dirs. CAUTION: This also follows symlinks outside of the replica root.
|
||||||
|
KEEP_DIRLINKS=yes
|
||||||
|
## Preserve hard links. Make sure source and target FS can manage hard links or you will lose them.
|
||||||
|
PRESERVE_HARDLINKS=no
|
||||||
|
|
||||||
|
|
||||||
## Let RSYNC compress file transfers. Do not use this on local-local backup schemes. Also, this is not usefull if SSH compression is enabled.
|
## Let RSYNC compress file transfers. Do not use this on local-local backup schemes. Also, this is not usefull if SSH compression is enabled.
|
||||||
RSYNC_COMPRESS=no
|
RSYNC_COMPRESS=no
|
||||||
|
|
||||||
@ -128,6 +136,9 @@ RSYNC_COMPRESS=no
|
|||||||
SOFT_MAX_EXEC_TIME_FILE_TASK=3600
|
SOFT_MAX_EXEC_TIME_FILE_TASK=3600
|
||||||
HARD_MAX_EXEC_TIME_FILE_TASK=7200
|
HARD_MAX_EXEC_TIME_FILE_TASK=7200
|
||||||
|
|
||||||
|
## Keep partial uploads that can be resumed on next run, experimantal feature
|
||||||
|
PARTIAL=no
|
||||||
|
|
||||||
## ---------- ALERT OPTIONS
|
## ---------- ALERT OPTIONS
|
||||||
|
|
||||||
## Alert email adresses separated by a space character
|
## Alert email adresses separated by a space character
|
||||||
|
18
obackup.sh
18
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=2711201402
|
PROGRAM_BUILD=2711201404
|
||||||
|
|
||||||
## 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
|
||||||
@ -860,10 +860,10 @@ function ListDirectories
|
|||||||
LogError "Connectivity test failed. Stopping current task."
|
LogError "Connectivity test failed. Stopping current task."
|
||||||
Dummy &
|
Dummy &
|
||||||
else
|
else
|
||||||
eval "$SSH_CMD \"$COMMAND_SUDO $FIND_CMD $dir/ -mindepth 1 -maxdepth 1 -type d\" > $RUN_DIR/obackup_dirs_recurse_list_$SCRIPT_PID &"
|
eval "$SSH_CMD \"$COMMAND_SUDO $FIND_CMD -L $dir/ -mindepth 1 -maxdepth 1 -type d\" > $RUN_DIR/obackup_dirs_recurse_list_$SCRIPT_PID &"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
eval "$COMMAND_SUDO $FIND_CMD $dir/ -mindepth 1 -maxdepth 1 -type d > $RUN_DIR/obackup_dirs_recurse_list_$SCRIPT_PID &"
|
eval "$COMMAND_SUDO $FIND_CMD -L $dir/ -mindepth 1 -maxdepth 1 -type d > $RUN_DIR/obackup_dirs_recurse_list_$SCRIPT_PID &"
|
||||||
fi
|
fi
|
||||||
child_pid=$!
|
child_pid=$!
|
||||||
WaitForTaskCompletion $child_pid $SOFT_MAX_EXEC_TIME_FILE_TASK $HARD_MAX_EXEC_TIME_FILE_TASK
|
WaitForTaskCompletion $child_pid $SOFT_MAX_EXEC_TIME_FILE_TASK $HARD_MAX_EXEC_TIME_FILE_TASK
|
||||||
@ -1261,6 +1261,18 @@ function Init
|
|||||||
then
|
then
|
||||||
RSYNC_ARGS=$RSYNC_ARGS"z"
|
RSYNC_ARGS=$RSYNC_ARGS"z"
|
||||||
fi
|
fi
|
||||||
|
if [ "$COPY_SYMLINKS" != "no" ]
|
||||||
|
then
|
||||||
|
RSYNC_ARGS=$RSYNC_ARGS" -L"
|
||||||
|
fi
|
||||||
|
if [ "$KEEP_DIRLINKS" != "no" ]
|
||||||
|
then
|
||||||
|
RSYNC_ARGS=$RSYNC_ARGS" -K"
|
||||||
|
fi
|
||||||
|
if [ "$PRESERVE_HARDLINKS" == "yes" ]
|
||||||
|
then
|
||||||
|
RSYNC_ARGS=$RSYNC_ARGS" -H"
|
||||||
|
fi
|
||||||
if [ $verbose -eq 1 ]
|
if [ $verbose -eq 1 ]
|
||||||
then
|
then
|
||||||
RSYNC_ARGS=$RSYNC_ARGS"i"
|
RSYNC_ARGS=$RSYNC_ARGS"i"
|
||||||
|
Loading…
Reference in New Issue
Block a user