#!/usr/bin/env bash
# lrauv-log-critical.sh
#
# This script retrieves and processes reliability information from LRAUV
# syslogs. To monitor progress and/or debug, use `tail` on the log file,
# e.g., :
#
#     [tethysadmin@tethysdata ~]$ tail -f /tmp/lrauv-log-critical.tethys.log
#

# add Python3.5 to path
#export PATH=$PATH:/opt/rh/python35/root/usr/bin

FLOCK=/usr/bin/flock
LOCKDIR=/tmp
LOGDIR=/tmp
DATA_ROOT=/mbari/LRAUV

PYTHON=/usr/bin/python3 
PYTHON_ROOT=/home/tethysadmin/lrauv-tools/handle-lrauv-logs/lrauv-log-critical
PYTHON_OPT="--verbose --path ${DATA_ROOT} -vh"

HTTP_ROOT=/var/www/html/reliability/

for vehicle in tethys daphne makai ahi aku opah whoidhs galene brizo pontus triton
do
  lck=${LOCKDIR}/handle-lrauv-logs.${vehicle}.lck  # don't process during logs push or pull
  log=${LOGDIR}/lrauv-log-critical.${vehicle}.log

  pcmd="echo 'lock free' && ${PYTHON} ${PYTHON_ROOT}/lrauv-log-critical.py ${PYTHON_OPT} ${vehicle} &> ${log}"
  date -u --iso-8601=second &> ${log} # overwrite, don't append
  echo "*** running ${pcmd} under flock with lock ${lck}"
  ${FLOCK} --nonblock --timeout 0 --exclusive ${lck} -c "${pcmd}"
done

rsync -azq --exclude '*.sh' ${PYTHON_ROOT}/data ${HTTP_ROOT}
cd ${HTTP_ROOT}/data; zip -r ../reliability.zip *
