
#!/bin/sh
# File	: proc_ssh_input.sh
# By	: Maarten.deBoer@Atos.net, 180724
# Subject	: Script to receive info from SSH
#(0.2),180724	: Added heartbeat
#(0.3),180725	: Added, ${TMP}, FILTERS
PGM=`basename $0|cut -d\. -f1`
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
HBFILE="${HOME}/data/heartbeat"
PROCFILE="${HOME}/data/procfile"

#SVM_FILTER="nlnafs[a-z][a-z][a-z][0-9][0-9]"
SVM_FILTER="nlnafsmss[0-9][0-9]"
AGGR_FILTER="n[0-9][0-9][ace][0-9][0-9][0-9][0-9]"
VOL_FILTER="[a-z][a-z][a-z][0-9][0-9]_vol[0-9][0-9][0-9][0-9][0-9]"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}

# Layout:
# <cmd> ; <svm> ; <aggr> ; <volume> ; <qtree> ; <new_size> ;
# - heartbeat 
# - list
# - remove
# - unremove;

touch ${TMP}
while read LINE
do
  echo "  LINE:${LINE}" >> ${LOG}
  IN_CMD=`echo ${LINE}|grep -v ^#|awk -F\; '{print $1}'`
  IN_SVM=`echo ${LINE}|grep -v ^#|awk -F\; '{print $2}'`
  IN_AGGR=`echo ${LINE}|grep -v ^#|awk -F\; '{print $3}'`
  IN_VOL=`echo ${LINE}|grep -v ^#|awk -F\; '{print $4}'`
  IN_QTREE=`echo ${LINE}|grep -v ^#|awk -F\; '{print $5}'`
  IN_NEW_SIZE=`echo ${LINE}|grep -v ^#|awk -F\; '{print $6}'`

  # do, when IN_CMD is not empty
  if [ "${IN_CMD}" != "" ]; then
    case ${IN_CMD} in
      heartbeat)  echo "  INFO: heartbeat = OK (`date +%Y-%m-%d-%H-%M-%S`)"|tee ${HBFILE} ${TMP} ;;
      help)  echo "  INFO: NO help available"|tee -a ${TMP} ;;
      list)  
        # Checks against FILTERs
        SVM=`echo ${IN_SVM}|grep "${SVM_FILTER}"`
        AGGR=`echo ${IN_AGGR}|grep "${AGGR_FILTER}"`
        # if AGGR is empty, then use wildcard (*)
        if [ "${AGGR}" = "" ]; then
          AGGR="*"
        fi
        VOL=`echo ${IN_VOL}|grep "${VOL_FILTER}"`
        # if VOL is empty, then use wildcard (*)
        if [ "${VOL}" = "" ]; then
          VOL="*"
        fi
     
        echo "  INFO: list of SVM=${SVM}  AGGR=${AGGR}  VOL=${VOL}"
      
      
        ;;
      *) echo "  ERROR: ${IN_CMD} = wrong command (`date +%Y-%m-%d-%H-%M-%S`)"|tee -a ${LOG} ${TMP} ;;
    esac
  fi  # if .. != ""

done

rm ${TMP}
echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

