1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/bash
-
- # Cronic v3 - cron job report wrapper
- # Copyright 2007-2016 Chuck Houpt. No rights reserved, whatsoever.
- # Public Domain CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
- set -eu
-
- TMP=$(mktemp -d)
- OUT=$TMP/cronic.out
- ERR=$TMP/cronic.err
- TRACE=$TMP/cronic.trace
-
- set +e
- "$@" >$OUT 2>$TRACE
- RESULT=$?
- set -e
-
- PATTERN="^${PS4:0:1}\\+${PS4:1}"
- if grep -aq "$PATTERN" $TRACE
- then
- ! grep -av "$PATTERN" $TRACE > $ERR
- else
- ERR=$TRACE
- fi
-
- if [ $RESULT -ne 0 ]
- then
- echo "Cronic detected failure or error output for the command:"
- echo "$@"
- echo
- echo "RESULT CODE: $RESULT"
- echo
- echo "STANDARD OUTPUT:"
- cat "$OUT"
- if [ $TRACE != $ERR ]
- then
- echo
- echo "TRACE-ERROR OUTPUT:"
- cat "$TRACE"
- fi
- fi
-
- rm -rf "$TMP"
|