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 --"