| 1234567891011121314151617181920212223 |
- #!/bin/bash
- # mail_error -o file -m email_address command
- # Runs command from cron and redirects all output to file
- # If command rc != 0, sends output to email_address
- function die { echo $1 ; exit 1; }
- PATH=$HOME/bin:$HOME/local/bin:$PATH
- while getopts "o:m:" c; do
- case $c in
- o) output_file=$OPTARG;;
- m) email=$OPTARG;;
- \*) echo "oops";;
- esac
- done
- shift $(($OPTIND-1))
- [[ -z $1 ]] && die "Must specify command"
- if ! "$@" > $output_file 2>&1 ; then
- mail -s "mail_error fail: $1" $email < $output_file
- fi
|