下面是一个监控shell中任务执行状态的脚本:
#!/bin/bash
set -e
set -x
################################
# constants
################################
JOB_STATUS_UPLOAD_URL=127.0.0.1:7001/fool
HEADER_STR="-H Content-Type:application/json -H Charset:UTF-8 -H backdoor:sys"
JOB_ID=""
APPLICATION_ID=""
JOB_START_TIME=""
JOB_END_TIME=""
JOB_STATUS=""
JOB_DATE=""
################################
# functions
################################
## output error message and exit with code.
error() {
local msg=$1
local exit_code=$2
echo "Error: $msg" >&2
if [ -n "$exit_code" ] ; then
exit $exit_code
fi
}
## init job
init() {
args=""
while [ -n "$*" ] ; do
arg=$1
shift
case "$arg" in
--jobid|-i)
[ -n "$1" ] || error "Option --jobid requires an argument" 1
JOB_ID=$1
shift
;;
--appid|-a)
[ -n "$1" ] || error "Option --appid requires an argument" 1
APPLICATION_ID=$1
<