mergcam merging was buggy, fix by using new exporter
[log-quiet] / sysd-mail-once
index 2f7f4d5d9efd035d7803d623bb946090f4597be7..d44b77fd48f35c0405be838fc20052b99604ae6f 100755 (executable)
@@ -23,8 +23,10 @@ to=root
 case "$1" in
   -h|--help)
     cat <<EOF
-Usage: sysd-mail-once [-t TO_ADDRESS] [-ERRORS] SERVICE COMMAND [ARGS...]
-For systemd timers, email on repeated failure & success after failure.
+Usage: sysd-mail-once [-t TO_ADDRESS] [-ERRORS] SERVICE COMMAND [COMMAND_ARGS...]
+
+For use with systemd timers, to email (with exim) on repeated failure &
+success after failure.
 
 In the service triggered by the timer, prepend this script to the ExecStart.
 The email will contain the service's logs for the last ERRORS runs.
@@ -34,6 +36,8 @@ Stores error counts in $cbase
 
 -ERRORS:  ERRORS is the number of failurs to accumulate before mailing the error.
           Default is 3.
+
+-t TO_ADDRESS:  Address to email about errors
 EOF
     exit 0
     ;;
@@ -81,14 +85,24 @@ if (( code )); then
     fi
   fi
   if $send_mail; then
-    journalctl -u $service.service --after-cursor=$(<$file) | \
-      mail -s "$HOSTNAME: $service exit code: $code" "$to"
+      exim -odf -t <<EOF
+To: $to
+From: $USER@$(hostname -f)
+Subject: $HOSTNAME: $service exit code: $code
+
+$(journalctl -u $service.service --after-cursor=$(<$file))
+EOF
   fi
 else
   if [[ $file ]]; then
     rm -f $file
     if [[ $file == $c$errors ]]; then
-      echo | mail -s "$HOSTNAME: $service success" "$to"
+      exim -odf -t <<EOF
+To: $to
+From: $USER@$(hostname -f)
+Subject: $HOSTNAME: $service success
+
+EOF
     fi
   fi
 fi