|
@@ -99,7 +99,7 @@ MAIL_BIN="/usr/bin/mail"
|
|
|
TERSE=2
|
|
|
|
|
|
## INTERNAL TEMP VARS ##
|
|
|
-EMAIL_SUBJECT_PREFIX="[`hostname`] SnapRAID - "
|
|
|
+EMAIL_SUBJECT_PREFIX="[`hostname`] SnapRAID -"
|
|
|
TMP_OUTPUT="/tmp/snapRAID.out"
|
|
|
SYNC_WARN_FILE="/tmp/snapRAID.warnCount"
|
|
|
SYNC_WARN_COUNT=""
|
|
@@ -154,7 +154,15 @@ if [ -z "$DEL_COUNT" -o -z "$ADD_COUNT" -o -z "$MOVE_COUNT" -o -z "$COPY_COUNT"
|
|
|
# failed to get one or more of the count values, lets report to user and exit with error code
|
|
|
echo "[`date`] ERROR - failed to get one or more count values. Unable to proceed. Exiting script."
|
|
|
if [ $EMAIL_ADDRESS ]; then
|
|
|
- $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - Unable to proceed with SYNC/SCRUB job(s). Check DIFF job output inside." "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+# $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - Unable to proceed with SYNC/SCRUB job(s). Check DIFF job output inside." "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+ curl \
|
|
|
+ -H "Title: $EMAIL_SUBJECT_PREFIX WARNING" \
|
|
|
+ -H "Priority: urgent" \
|
|
|
+ -H "Tags: warning" \
|
|
|
+ -d "Unable to proceed with SYNC/SCRUB job(s). Check DIFF job output inside
|
|
|
+
|
|
|
+$(cat $TMP_OUTPUT)" \
|
|
|
+ https://ntfy.warchildstory.com/{{ server_notifications_topic }}
|
|
|
fi
|
|
|
exit 1;
|
|
|
fi
|
|
@@ -270,31 +278,59 @@ fi
|
|
|
#echo "Spinning down disks..." >> $TMP_OUTPUT
|
|
|
#$SNAPRAID_BIN down
|
|
|
|
|
|
-# all jobs done, let's send output to user if configured
|
|
|
-if [ $EMAIL_ADDRESS ]; then
|
|
|
- echo "[`date`] Email address is set. Sending email report to <$EMAIL_ADDRESS>"
|
|
|
- # check if deleted count exceeded threshold
|
|
|
- if [ $DEL_COUNT -gt $DEL_THRESHOLD -a $DO_SYNC -eq 0 ]; then
|
|
|
- # YES, lets inform user with an appropriate subject line
|
|
|
- $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING $SYNC_WARN_COUNT - Number of deleted files ($DEL_COUNT) exceeded threshold ($DEL_THRESHOLD)" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
- elif [ -z "${JOBS_DONE##*"SYNC"*}" -a -z "$(grep -w "SYNC_JOB-" $TMP_OUTPUT)" ]; then
|
|
|
- # Sync ran but did not complete successfully so lets warn the user
|
|
|
- $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - SYNC job ran but did not complete successfully" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
- elif [ -z "${JOBS_DONE##*"SCRUB"*}" -a -z "$(grep -w "SCRUB_JOB-" $TMP_OUTPUT)" ]; then
|
|
|
- # Scrub ran but did not complete successfully so lets warn the user
|
|
|
- $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - SCRUB job ran but did not complete successfully" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
- else
|
|
|
- # OPTIONALLY, let's reduce the amount of status lines in output.
|
|
|
- if [ $TERSE -gt 1 ]; then
|
|
|
- # Report progress in interval of tens %
|
|
|
- sed -i '$!N; /^\([0-9]\).*\n\1.*$/!P; D' $TMP_OUTPUT
|
|
|
- sed -i '/^[1-8]%.*$/d' $TMP_OUTPUT
|
|
|
- elif [ $TERSE -gt 0 ]; then
|
|
|
- # Report progress in interval of ones %
|
|
|
- sed -i '$!N; /^\([0-9]*\)%.*\n\1.*$/!P; D' $TMP_OUTPUT
|
|
|
- fi
|
|
|
- $MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX INFO - $JOBS_DONE Jobs COMPLETED" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+# check if deleted count exceeded threshold
|
|
|
+if [ $DEL_COUNT -gt $DEL_THRESHOLD -a $DO_SYNC -eq 0 ]; then
|
|
|
+ # YES, lets inform user with an appropriate subject line
|
|
|
+ #$MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING $SYNC_WARN_COUNT - Number of deleted files ($DEL_COUNT) exceeded threshold ($DEL_THRESHOLD)" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+ curl \
|
|
|
+ -H "Title: $EMAIL_SUBJECT_PREFIX WARNING" \
|
|
|
+ -H "Priority: urgent" \
|
|
|
+ -H "Tags: warning" \
|
|
|
+ -d "$SYNC_WARN_COUNT - Number of deleted files ($DEL_COUNT) exceeded threshold ($DEL_THRESHOLD)
|
|
|
+
|
|
|
+$(cat $TMP_OUTPUT)" \
|
|
|
+ https://ntfy.warchildstory.com/{{ server_notifications_topic }}
|
|
|
+elif [ -z "${JOBS_DONE##*"SYNC"*}" -a -z "$(grep -w "SYNC_JOB-" $TMP_OUTPUT)" ]; then
|
|
|
+ # Sync ran but did not complete successfully so lets warn the user
|
|
|
+ #$MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - SYNC job ran but did not complete successfully" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+ curl \
|
|
|
+ -H "Title: $EMAIL_SUBJECT_PREFIX WARNING" \
|
|
|
+ -H "Priority: urgent" \
|
|
|
+ -H "Tags: warning" \
|
|
|
+ -d "SYNC job ran but did not complete successfully
|
|
|
+
|
|
|
+$(cat $TMP_OUTPUT)" \
|
|
|
+ https://ntfy.warchildstory.com/{{ server_notifications_topic }}
|
|
|
+elif [ -z "${JOBS_DONE##*"SCRUB"*}" -a -z "$(grep -w "SCRUB_JOB-" $TMP_OUTPUT)" ]; then
|
|
|
+ # Scrub ran but did not complete successfully so lets warn the user
|
|
|
+ #$MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX WARNING - SCRUB job ran but did not complete successfully" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+ curl \
|
|
|
+ -H "Title: $EMAIL_SUBJECT_PREFIX WARNING" \
|
|
|
+ -H "Priority: urgent" \
|
|
|
+ -H "Tags: warning" \
|
|
|
+ -d "SCRUB job ran but did not complete successfully
|
|
|
+
|
|
|
+$(cat $TMP_OUTPUT)" \
|
|
|
+ https://ntfy.warchildstory.com/{{ server_notifications_topic }}
|
|
|
+else
|
|
|
+ # OPTIONALLY, let's reduce the amount of status lines in output.
|
|
|
+ if [ $TERSE -gt 1 ]; then
|
|
|
+ # Report progress in interval of tens %
|
|
|
+ sed -i '$!N; /^\([0-9]\).*\n\1.*$/!P; D' $TMP_OUTPUT
|
|
|
+ sed -i '/^[1-8]%.*$/d' $TMP_OUTPUT
|
|
|
+ elif [ $TERSE -gt 0 ]; then
|
|
|
+ # Report progress in interval of ones %
|
|
|
+ sed -i '$!N; /^\([0-9]*\)%.*\n\1.*$/!P; D' $TMP_OUTPUT
|
|
|
fi
|
|
|
+ #$MAIL_BIN -s "$EMAIL_SUBJECT_PREFIX INFO - $JOBS_DONE Jobs COMPLETED" "$EMAIL_ADDRESS" < $TMP_OUTPUT
|
|
|
+ curl \
|
|
|
+ -H "Title: $EMAIL_SUBJECT_PREFIX INFO" \
|
|
|
+ -H "Priority: default" \
|
|
|
+ -H "Tags: white_check_mark" \
|
|
|
+ -d "$JOBS_DONE Jobs COMPLETED
|
|
|
+
|
|
|
+$(cat $TMP_OUTPUT)" \
|
|
|
+ https://ntfy.warchildstory.com/{{ server_notifications_topic }}
|
|
|
fi
|
|
|
|
|
|
echo "[`date`] All jobs ended."
|