diff --git a/ccollect b/ccollect index 8b8f9e5..5aaefe2 100755 --- a/ccollect +++ b/ccollect @@ -765,7 +765,7 @@ while [ "${source_no}" -lt "${no_sources}" ]; do oldest_bak=$(ls -${TSORT}1r | grep "^${INTERVAL}\\." | head -n 1 || \ _exit_err "Listing oldest backup failed") _techo "Using ${oldest_bak} for destination dir ${destination_dir}" - if mv "${oldest_bak}" "${destination_dir}"; then + if mv "${oldest_bak}" "${destination_dir}" 2>/dev/null; then # Touch dest dir so it is not sorted wrong in listings below. ls_rm_exclude=$(basename "${destination_dir}") @@ -779,7 +779,7 @@ while [ "${source_no}" -lt "${no_sources}" ]; do if [ "${remove}" -gt 0 ]; then _techo "Removing ${remove} backup(s)..." - if [ -z "${ls_rm_exclude}" ]; then + if [ -z "${ls_rm_exclude}" -o ${c_interval} -le 0 ]; then # shellcheck disable=SC2010 ls -${TSORT}1r | grep "^${INTERVAL}\\." | head -n "${remove}" > "${TMP}" || \ _exit_err "Listing old backups failed" @@ -793,6 +793,14 @@ while [ "${source_no}" -lt "${no_sources}" ]; do fi fi + # + # Skip backup of this source if interval is zero. + # + if [ ${c_interval} -le 0 ]; then + _techo "Skipping backup for this interval." + exit 0 + fi + # # Check for backup directory to clone from: Always clone from the latest one! # Exclude destination_dir from listing, it can be touched reused and renamed