minor: documentation
[log-quiet] / sysd-mail-once
index 2f7f4d5d9efd035d7803d623bb946090f4597be7..d44b77fd48f35c0405be838fc20052b99604ae6f 100755 (executable)
@@ -23,8 +23,10 @@ to=root
 case "$1" in
   -h|--help)
     cat <<EOF
 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.
 
 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.
 
 -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
     ;;
 EOF
     exit 0
     ;;
@@ -81,14 +85,24 @@ if (( code )); then
     fi
   fi
   if $send_mail; 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
   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
     fi
   fi
 fi