From 616cfd8eee210f9203508d074b0d63075493e7c0 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 4 Aug 2019 14:22:20 +0200 Subject: [PATCH] maildir-last-change.sh: fix error, if domain is given at commandline. --- maildir-last-change.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/maildir-last-change.sh b/maildir-last-change.sh index 5e0e11f..6ff2ba2 100755 --- a/maildir-last-change.sh +++ b/maildir-last-change.sh @@ -277,6 +277,25 @@ else echo_skipped fi +echononl "Remove old statistic files .." +if [[ "$DOMAIN" = "*" ]] ; then + rm -f ${DST_DIR}/* > $error_log 2>&1 + if [[ $? -eq 0 ]]; then + echo_done + else + echo_failed + error "$(cat "$error_log")" + fi +else + rm -f "${DST_DIR}/${DOMAIN}/*" + if [[ $? -eq 0 ]]; then + echo_done + else + echo_failed + error "$(cat "$error_log")" + fi +fi + echononl "Determin last change time for mailboxes.." echo_wait @@ -311,7 +330,11 @@ echononl "Write down statistic files per domain .." echo_wait _failed=false for _domain in "${_domain_arr[@]}" ; do - cat "${DST_DIR}/00-all-domains.stat" | grep "@$_domain" > "${DST_DIR}/${_domain}.stat" 2> "$error_log" + if [[ ${#_domain_arr[@]} -eq 1 ]] ; then + cat $_CACHE_FILE | sort -n > "${DST_DIR}/${_domain}.stat" 2> "$error_log" + else + cat "${DST_DIR}/00-all-domains.stat" | grep "@$_domain" > "${DST_DIR}/${_domain}.stat" 2> "$error_log" + fi if [[ $? -ne 0 ]]; then _failed=true fi