Move more setup code inside loop
This commit is contained in:
+18
-20
@@ -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."
|
||||||
|
|||||||
Reference in New Issue
Block a user