X-Git-Url: https://iankelling.org/git/?p=log-quiet;a=blobdiff_plain;f=logmail;h=4aad395591d9f123072ef545e7d25f5cce937d53;hp=cac1e21372cb80389189987d2910279e125b235e;hb=HEAD;hpb=caf623ada289608bdbcc2216058057a7390f7939 diff --git a/logmail b/logmail index cac1e21..ba36a9e 100755 --- a/logmail +++ b/logmail @@ -1,5 +1,12 @@ #!/bin/bash -# Copyright (C) 2016 Ian Kelling +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,19 +20,24 @@ # See the License for the specific language governing permissions and # limitations under the License. + case $1 in - -h|--help) - cat <<'EOF' + -h|--help) + cat <<'EOF' usage: logmail CMD [ARGS...] Send mail in case of output or failure of CMD + +Emails to $MAILTO or if unset, $USER@localhost EOF - exit 0 - ;; + exit 0 + ;; esac t=$(mktemp) -if ! "$@" &>"$t" || [[ ! -s $t ]]; then - mail -s "$HOSTNAME: $*" $USER@localhost <"$t" - rm "$t" +code=0 +"$@" &>"$t" || code=$? +if (( code )) || [[ -s $t ]]; then + mail -s "$HOSTNAME: code: $code cmd: $*" $mailto <"$t" + rm "$t" fi exit 0