Move more setup code inside loop

This commit is contained in:
Laurent Cozic
2013-11-12 11:14:02 +08:00
parent 84415a3045
commit b481985f2a
+18 -20
View File
@@ -106,36 +106,37 @@ if [ -f "$INPROGRESS_FILE" ]; then
fi fi
fi fi
# ----------------------------------------------------------------------------- # Run in a loop to handle the "No space left on device" logic.
# Check if we are doing an incremental backup (if previous backup exists) or not while [ "1" ]; do
# -----------------------------------------------------------------------------
LINK_DEST_OPTION="" # -----------------------------------------------------------------------------
if [ "$LAST_TIME" == "" ]; then # Check if we are doing an incremental backup (if previous backup exists) or not
# -----------------------------------------------------------------------------
LINK_DEST_OPTION=""
if [ "$LAST_TIME" == "" ]; then
fn_log_info "No previous backup - creating new one." fn_log_info "No previous backup - creating new one."
else else
# If the path is relative, it needs to be relative to the destination. To keep # If the path is relative, it needs to be relative to the destination. To keep
# it simple, just use an absolute path. See http://serverfault.com/a/210058/118679 # it simple, just use an absolute path. See http://serverfault.com/a/210058/118679
PREVIOUS_DEST=`cd \`dirname "$PREVIOUS_DEST"\`; pwd`"/"`basename "$PREVIOUS_DEST"` PREVIOUS_DEST=`cd \`dirname "$PREVIOUS_DEST"\`; pwd`"/"`basename "$PREVIOUS_DEST"`
fn_log_info "Previous backup found - doing incremental backup from $PREVIOUS_DEST" fn_log_info "Previous backup found - doing incremental backup from $PREVIOUS_DEST"
LINK_DEST_OPTION="--link-dest=$PREVIOUS_DEST" LINK_DEST_OPTION="--link-dest=$PREVIOUS_DEST"
fi fi
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Create destination folder if it doesn't already exists # Create destination folder if it doesn't already exists
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
if [ ! -d "$DEST" ]; then if [ ! -d "$DEST" ]; then
fn_log_info "Creating destination $DEST" fn_log_info "Creating destination $DEST"
mkdir -p $DEST mkdir -p $DEST
fi fi
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Start backup # Start backup
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Run in a loop to handle the "No space left on device" logic
while [ "1" ]; do
LOG_FILE="$PROFILE_FOLDER/$(date +"%Y-%m-%d-%H%M%S").log" LOG_FILE="$PROFILE_FOLDER/$(date +"%Y-%m-%d-%H%M%S").log"
fn_log_info "Starting backup..." fn_log_info "Starting backup..."
@@ -151,7 +152,6 @@ while [ "1" ]; do
CMD="$CMD --delete-excluded" CMD="$CMD --delete-excluded"
CMD="$CMD --one-file-system" CMD="$CMD --one-file-system"
CMD="$CMD --archive" CMD="$CMD --archive"
CMD="$CMD --progress"
CMD="$CMD --itemize-changes" CMD="$CMD --itemize-changes"
CMD="$CMD --verbose" CMD="$CMD --verbose"
CMD="$CMD --log-file '$LOG_FILE'" CMD="$CMD --log-file '$LOG_FILE'"
@@ -198,8 +198,6 @@ while [ "1" ]; do
exit 1 exit 1
fi fi
# TODO: handle case where only two backup folders are left. In which case, need to remove --link-dest option
OLDEST_BACKUP=$(ls -1 $DEST_FOLDER | grep "$BACKUP_FOLDER_PATTERN" | head -n 1) OLDEST_BACKUP=$(ls -1 $DEST_FOLDER | grep "$BACKUP_FOLDER_PATTERN" | head -n 1)
if [ "$OLDEST_BACKUP" == "" ]; then if [ "$OLDEST_BACKUP" == "" ]; then
fn_log_error "No space left on device, and cannot get path to oldest backup to delete." fn_log_error "No space left on device, and cannot get path to oldest backup to delete."