Cleaned up old remove code
This commit is contained in:
parent
8f6a942ae9
commit
45c5c29f77
1 changed files with 27 additions and 26 deletions
53
ccollect.sh
53
ccollect.sh
|
@ -385,6 +385,8 @@ while [ "${i}" -lt "${no_sources}" ]; do
|
||||||
# Check for incomplete backups
|
# Check for incomplete backups
|
||||||
#
|
#
|
||||||
(
|
(
|
||||||
|
set -e
|
||||||
|
# FIXME: debug
|
||||||
set -x
|
set -x
|
||||||
cd "${c_dest}"
|
cd "${c_dest}"
|
||||||
# one column output to ${TMP}
|
# one column output to ${TMP}
|
||||||
|
@ -401,18 +403,36 @@ while [ "${i}" -lt "${no_sources}" ]; do
|
||||||
echo rm $VVERBOSE -rf "${realincomplete}"
|
echo rm $VVERBOSE -rf "${realincomplete}"
|
||||||
fi
|
fi
|
||||||
done < "${TMP}"
|
done < "${TMP}"
|
||||||
)
|
) || _exit_err "Searching for incomplete backups failed."
|
||||||
sleep 10
|
|
||||||
while read incomplete; do
|
|
||||||
echo "${incomplete} is incomplete"
|
|
||||||
done < "${TMP}"
|
|
||||||
|
|
||||||
last_dir=$(ls -d "${c_dest}/${INTERVAL}."?* 2>/dev/null | sort -n | tail -n 1)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# check if maximum number of backups is reached, if so remove
|
# check if maximum number of backups is reached, if so remove
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# use grep and ls -p so we only look at directories
|
||||||
|
count=$(cd "${c_dest}" && ls -p1 | grep "^${INTERVAL}\..*/\$" | wc -l \
|
||||||
|
| sed 's/^ *//g') || _exit_err "Counting backups failed"
|
||||||
|
|
||||||
|
_techo "Existing backups: ${count} Total keeping backups: ${c_interval}"
|
||||||
|
|
||||||
|
if [ "${count}" -ge "${c_interval}" ]; then
|
||||||
|
substract=$((${c_interval} - 1))
|
||||||
|
remove=$((${count} - ${substract}))
|
||||||
|
echo "Removing ${remove} backup(s)..."
|
||||||
|
|
||||||
|
(
|
||||||
|
set -e
|
||||||
|
cd "${c_dest}"
|
||||||
|
ls -p1 | grep "^${INTERVAL}\..*/\$" | sort -n | head -n "${remove}" > "${TMP}"
|
||||||
|
|
||||||
|
while read to_remove; do
|
||||||
|
_techo "Removing ${to_remove} ..."
|
||||||
|
rm $VVERBOSE -rf "$to_remove"
|
||||||
|
done < "${TMP}"
|
||||||
|
) || _exit_err "
|
||||||
|
fi
|
||||||
|
|
||||||
|
#last_dir=$(ls -d "${c_dest}/${INTERVAL}."?* 2>/dev/null | sort -n | tail -n 1)
|
||||||
#
|
#
|
||||||
# Check for backup directory to clone from
|
# Check for backup directory to clone from
|
||||||
#
|
#
|
||||||
|
@ -426,29 +446,10 @@ while [ "${i}" -lt "${no_sources}" ]; do
|
||||||
echo "Found ${old}"
|
echo "Found ${old}"
|
||||||
done < "${TMP}"
|
done < "${TMP}"
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check for backups on other intervals, if we did not find any
|
# Check for backups on other intervals, if we did not find any
|
||||||
#
|
#
|
||||||
|
|
||||||
count=$(cd "${c_dest}" && ls -p1 | grep "^${INTERVAL}\..*/\$" | wc -l | sed 's/^ *//g')
|
|
||||||
# FIXME: check return value
|
|
||||||
_techo "Existing backups: ${count} Total keeping backups: ${c_interval}"
|
|
||||||
|
|
||||||
if [ "${count}" -ge "${c_interval}" ]; then
|
|
||||||
substract=$((${c_interval} - 1))
|
|
||||||
remove=$(($count - $substract))
|
|
||||||
echo "Removing $remove backup(s)..."
|
|
||||||
|
|
||||||
ls -d "$c_dest/${INTERVAL}."?* | sort -n | head -n "$remove" > "$TMP"
|
|
||||||
#( cd "$c_dest" && ls -p1 | grep "^${INTERVAL}\..*/\$" | sort -n | head -n $remove > "$TMP"
|
|
||||||
while read to_remove; do
|
|
||||||
dir="$to_remove"
|
|
||||||
echo "Removing $dir ..."
|
|
||||||
rm $VVERBOSE -rf "$dir"
|
|
||||||
done < "$TMP"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# clone the old directory with hardlinks
|
# clone the old directory with hardlinks
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue