arquivo st.txt:
"succeeded" "test" "2018-03-30T13:42:12Z" "2018-03-30T13:42:21Z"
eu tenho um script que retorna o status mais recente do Rundeckjob
curl -s -H "Accept: application/json" -X GET "http://localhost:4440/api/20/project/Windows-AD/executions?authtoken=r50onM4kXzZ7DhhAN6Fe2rwwxuAhF0IG" | python -m json.tool > 1.json
jq -r '.|[.executions[] | select(.job.name != null)] | sort_by(.id) | reverse | .[0] | [.status, .job.name, ."date-started".date, ."date-ended".date] | @csv' 1.json > 1.csv
sed 's/,/ /g' 1.csv>st.txt
while read status name startdate enddate; do
case "$status" in
"\"aborted\"")
echo -1
;;
"\"failed\"")
echo -1 + $name
;;
"\"succeeded\"")
echo 0
;;
*) echo 0 + $name
esac
exit 0
done<st.txt
Como comparar $start e $enddate (" 2018-03-30T13:42:12Z" "2018-03-30T13:42:21Z"
) e se a diferença for maior que 5 minutos adicionar outra saída "demorando muito"
você pode converter e comparar datas de início/término assim:
A data GNU pode fazer a matemática diretamente (em segundos).
script POSIX.