diff --git a/status-check.sh b/status-check.sh index 5782479..d72491c 100755 --- a/status-check.sh +++ b/status-check.sh @@ -3,11 +3,6 @@ #set -eux LOG_FILE="/media/workshop/Projects/openmedianetwork/.omn_watchdog.log" -touch ${LOG_FILE} - -# Redirect all output to LOG_FILE but preserve a link to stdout should we -# still want to use it -exec 3>&1 1>>${LOG_FILE} 2>&1 RECIPIENTS=( saunders@openworlds.info @@ -16,7 +11,7 @@ RECIPIENTS=( URLS=( unite.openworlds.info - openworlds.info + # NOTE: [Currently down] openworlds.info pad.openworlds.info visionon.tv activism.openworlds.info @@ -35,7 +30,22 @@ SERVICES=( #mail.openworlds.info ) -send_mail() { +rotate_log() +{ + local -n log=$1 + local max_log=4096 # 4M as we get size in K below + local log_size=$(du -k "${log}" | cut -f 1) + + if ((${log_size} > ${max_log})); then + # Clobber any previous backup + mv -f ${log} ${log}.1 + fi + + touch ${log} +} + +send_mail() +{ local -n error_list=$1 local error_string="" @@ -48,13 +58,18 @@ send_mail() { cat mail_template \ | sed "s/{ERR_LIST}/${error_string}/g" \ - | msmtp -a omn_server_watch ${RECIPIENTS[@]} 2>/dev/null \ + | msmtp -a omn_server_watch ${RECIPIENTS[@]} \ || echo "[ERROR] Failed to send mail!" } declare -A FLAGGED -echo "== $(date)" +rotate_log LOG_FILE +# Redirect all output to LOG_FILE but preserve a link to stdout should we +# still want to use it +exec 3>&1 1>>${LOG_FILE} 2>&1 + +echo ">> $(date)" echo "== Checking:" for uri in "${URLS[@]}"; do \