Skip to content
Snippets Groups Projects
Commit 889e77eb authored by root's avatar root
Browse files

Prevent unfinished incremental backup file from being used

parent bc9f3c53
No related branches found
No related tags found
No related merge requests found
......@@ -43,6 +43,7 @@ TIMESTAMP=$(date +"%Y-%m-%d")
BACKUP_FILE=${TIMESTAMP}.${TYPE}.tar.xz
INCFILE_TGT=stamps/${TIMESTAMP}.${TYPE}.snar
INCFILE=${TIMESTAMP}.${TYPE}.snar
INCFILE_TMP=${INCFILE_TMP}.tmp
INC_FILTER="."
if [[ "$TYPE" = "weekly" ]]; then
......@@ -54,15 +55,16 @@ trap "rmdir lock" EXIT
set -x
[[ -f $INCFILE ]] && fail "ERROR: backup already in progress (incremental backup file exists)"
[[ -f $INCFILE_TMP ]] && fail "ERROR: backup already in progress (incremental backup file exists)"
if [[ "$TYPE" != "full" ]]; then
LAST=$(ls *.snar | sort | grep $INC_FILTER | tail -n1)
if [[ -f "$LAST" ]]; then
cp --reflink=auto $LAST $INCFILE
cp --reflink=auto $LAST $INCFILE_TMP
fi
fi
ssh $TARGET "mkdir -p stamps"
tar --create --xattrs --acls --listed-incremental=$INCFILE $SOURCES | \
tar --create --xattrs --acls --listed-incremental=$INCFILE_TMP $SOURCES | \
xz -T$COMPRESS_THRS -3 | ssh $TARGET "cat > $BACKUP_FILE"
scp $INCFILE $TARGET:$INCFILE_TGT
scp $INCFILE_TMP $TARGET:$INCFILE_TGT
mv $INCFILE_TMP $INCFILE
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment