X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=sysd-mail-once;h=659fa92633860892a18a4b430ed1c027a3197cbb;hb=f63a62a9ae726155d06b2ca2fc2b576a1dd11289;hp=e53d6ee6e5f41df4df6b78a702e5f3f3ae9e05e9;hpb=7f7ce3ccf4269622c5e40556ef8b3b1e9b07ab47;p=log-quiet diff --git a/sysd-mail-once b/sysd-mail-once index e53d6ee..659fa92 100755 --- a/sysd-mail-once +++ b/sysd-mail-once @@ -18,12 +18,19 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR errors=3 -cbase=$HOME/sysd-mail-once-state -case "$1" in - -h|--help) - cat <>$file + fi fi fi else file=${c}1 - printf "%s\n" "$cursor" >$file + if $dryrun; then + printf "dryrun: creating $file, contents: %s\n" "$cursor" + else + printf "%s\n" "$cursor" >$file + fi if (( errors == 1 )); then - journalctl -u $service.service --after-cursor=$(<$file) | \ - mail -s "$HOSTNAME: $service failure" $u@localhost + send_mail=true + fi + fi + if $send_mail; then + if $print_all; then + cursor=$(head -n1 $file) + else + cursor=$(tail -n1 $file) + fi + echo "sysd-mail-once: emailing on $errors errors. exit code: $code" + mi exim -odf -t <= $errors errors." + mi exim -odf -t <