X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmailtest-check;h=7fb1cbce051b6233ce93624ac1b02a661fecb65a;hp=73f3b33209ed84c16a826fd660fcb9154b9a1eeb;hb=f31ab4e29572ea4948f292bee814bc23061e992a;hpb=648257b1698602fdeeb7eb5ba496106547f93665 diff --git a/filesystem/usr/local/bin/mailtest-check b/filesystem/usr/local/bin/mailtest-check index 73f3b33..7fb1cbc 100755 --- a/filesystem/usr/local/bin/mailtest-check +++ b/filesystem/usr/local/bin/mailtest-check @@ -2,9 +2,21 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +if [[ $EUID != 1000 ]]; then + echo "$0: error run as normal user" >&2 + exit 1 +fi + cd /m/md/l/testignore/new shopt -s nullglob +# we run this cronjob along with sending the test email every 10 +# minutes, so give it 2 minutes to arrive, then if there is an email at +# least 23 minutes old, the last 2 test emails have failed. +if [[ ! $@ && $- != *i* ]]; then + sleep 120 +fi + last_sec=0 for file in *; do if [[ $file -nt $latest ]]; then @@ -17,13 +29,13 @@ if [[ $latest ]]; then fi now=$(date +%s) -limit=$(( now - 60 * 22 )) +limit=$(( now - 60 * 23 )) -if (( last_sec < limit )); then +if (( last_sec <= limit )); then echo $HOSTNAME mailtest failure - touch /nocow/mailtest-failure + touch /nocow/user/mailtest-failure else - rm -f /nocow/mailtest-failure + rm -f /nocow/user/mailtest-failure fi find -type f -mtime +1 -delete