File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -37,10 +37,20 @@ cleanup(){ local RET=$?; echo "Cleanup..."; rm -rf "${TMPDIR}"; trap "" EXIT; e
3737trap cleanup INT TERM HUP ERR EXIT
3838rm -rf "$TMPDIR" && mkdir -p "$TMPDIR"
3939
40+ [[ "$BACKUPFILE" =~ ".tar.gz" ]] && compress_arg="-I pigz"
41+
42+ # CHECK FREE SPACE IN $TMPDIR
43+ echo "check free space..." # allow at least ~100 extra MiB
44+ extractedsize=$(tar $compress_arg -tvf "$BACKUPFILE" | awk '{s+=$3} END{printf "%.0f", (s/1024)}') # Size of extracted files in "KB"
45+ size=$(($extractedsize + 100*1024))
46+ free=$( df "$TMPDIR" | tail -1 | awk '{ print $4 }' )
47+ [ $size -ge $free ] && {
48+ echo "free space check failed. Need $size KB in $TMPDIR";
49+ exit 1;
50+ }
51+
4052# EXTRACT FILES
4153echo "extracting backup file $BACKUPFILE..."
42-
43- [[ "$BACKUPFILE" =~ ".tar.gz" ]] && compress_arg="-I pigz"
4454tar $compress_arg -xf "$BACKUPFILE" -C "$TMPDIR" || exit 1
4555
4656## SANITY CHECKS
You can’t perform that action at this time.
0 commit comments