From 68c35072f9142c0eb829751314c65aaff4be86e8 Mon Sep 17 00:00:00 2001 From: David Malone Date: Fri, 22 Jun 2007 10:04:05 +0000 Subject: [PATCH] Add an option to make periodic(8) quiet when no output was generated. The man page part of the patch is my fault, the changes to the periodic script is Dominik's. PR: 88486 Submitted by: Dominik Brettnacher Reviewed by: brian Approved by: re MFC after: 1 month --- usr.sbin/periodic/periodic.8 | 5 +++++ usr.sbin/periodic/periodic.sh | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/usr.sbin/periodic/periodic.8 b/usr.sbin/periodic/periodic.8 index 4e9b676fe75d..569da04f8267 100644 --- a/usr.sbin/periodic/periodic.8 +++ b/usr.sbin/periodic/periodic.8 @@ -135,6 +135,11 @@ value does not begin with a .Ql / and is not empty, it is assumed to contain a list of email addresses, and the output is mailed to them. +If +.Ao Ar basedir Ac Ns Va _show_empty_output +is set to +.Dq Li NO , +then no mail will be sent if the output was empty. .Pp If .Ao Ar basedir Ac Ns Va _output diff --git a/usr.sbin/periodic/periodic.sh b/usr.sbin/periodic/periodic.sh index 73e8576581bd..ca954ea1f026 100644 --- a/usr.sbin/periodic/periodic.sh +++ b/usr.sbin/periodic/periodic.sh @@ -40,11 +40,11 @@ do case "$output" in /*) pipe="cat >>$output";; "") pipe=cat;; - *) pipe="mail -s '$host ${arg##*/} run output' $output";; + *) pipe="mail -E -s '$host ${arg##*/} run output' $output";; esac - success=YES info=YES badconfig=NO # Defaults when ${run}_* aren't YES/NO - for var in success info badconfig + success=YES info=YES badconfig=NO empty_output=YES # Defaults when ${run}_* aren't YES/NO + for var in success info badconfig empty_output do case $(eval echo "\$${arg##*/}_show_$var") in [Yy][Ee][Ss]) eval $var=YES;; @@ -95,8 +95,11 @@ do done if [ $empty = TRUE ] then - [ $processed = 1 ] && plural= || plural=s - echo "No output from the $processed file$plural processed" + if [ $empty_output = TRUE ] + then + [ $processed = 1 ] && plural= || plural=s + echo "No output from the $processed file$plural processed" + fi else echo "" echo "-- End of $arg output --"