#!/usr/bin/env bash
(
    flock -n 98 || exit 0

    . /data/www/data/cdp_pilot/TMS/script/env_tms.sh

    LOG_FILE="/data/www/data/cdp_pilot/TMS/script/logs/sync_$(date +%Y%m%d).log"
    # L1 directories
    dirs=(TS02_L1B-TB TS02_L1B-TBR TS02_L1C-TC TS02_L1C-TCR \
          TS03_L1B-TB TS03_L1B-TBR TS03_L1C-TC TS03_L1C-TCR \
          TS04_L1B-TB TS04_L1B-TBR TS04_L1C-TC TS04_L1C-TCR \
          TS05_L1B-TB TS05_L1B-TBR TS05_L1C-TC TS05_L1C-TCR \
          TS06_L1B-TB TS06_L1B-TBR TS06_L1C-TC TS06_L1C-TCR \
          TS07_L1B-TB TS07_L1B-TBR TS07_L1C-TC TS07_L1C-TCR \
          TS08_L1B-TB TS08_L1B-TBR TS08_L1C-TC TS08_L1C-TCR \
          TS09_L1B-TB TS09_L1B-TBR TS09_L1C-TC TS09_L1C-TCR \
          TS10_L1B-TB TS10_L1B-TBR TS10_L1C-TC TS10_L1C-TCR \
          TS11_L1B-TB TS11_L1B-TBR TS11_L1C-TC TS11_L1C-TCR \
          )
    rsync_flags="-r -t -g --chmod=D755,F440 --stats -h "

    for dir in "${dirs[@]}"; do
      # sync
      date -Ins
      echo '______________' ${dir}
      echo $dir >> ${LOG_FILE}
      t0=$(date +%s.%N)
      rsync ${rsync_flags} \
        "/data/smcd8/cdp_mws/$dir/" \
        "/data/www/data/cdp_pilot/TMS/$dir/" >> ${LOG_FILE} 2>&1
      RS_CODE=$?
      t1=$(date +%s.%N)
      dt=$(echo ${t1} - ${t0} | bc)
      echo $dir ${dt} delta seconds code:${RS_CODE} >> ${LOG_FILE}
      nsstart=${t0/./}
      inflmne="TMSSYNC,dtype=${dir},host=${HOSTNAME},returncode=${RS_CODE} datasync=${dt} ${nsstart}"
      echo $inflmne >> ${LOG_FILE}
      influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1
      # echo influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1

    done

    # BUFR
    date -Ins
    echo '______________BUFR_v4'
    echo 'BUFR_v4' >> ${LOG_FILE}
    t0=$(date +%s.%N)
    rsync -a --stats\
      "/data/data438/qzhao/TMSTBR_v4/" \
      "/data/www/data/cdp_pilot/TMS/BUFR/" >> ${LOG_FILE} 2>&1
    RS_CODE=$?
    t1=$(date +%s.%N)
    dt=$(echo ${t1} - ${t0} | bc)
    echo TMSTBR_v4 ${dt} delta seconds code:${RS_CODE} >> ${LOG_FILE}
    nsstart=${t0/./}
    dir='BUFR_v4'
    inflmne="TMSSYNC,dtype=${dir},host=${HOSTNAME},returncode=${RS_CODE} bufr4sync=${dt} ${nsstart}"
    echo $inflmne >> ${LOG_FILE}
    influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1
    # echo influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1

    # BUFR
    date -Ins
    echo '______________BUFR_v5'
    echo 'BUFR_v5' >> ${LOG_FILE}
    t0=$(date +%s.%N)
    rsync -a --stats\
      "/data/data438/qzhao/TMSTBR_v5/" \
      "/data/www/data/cdp_pilot/TMS/BUFR_v5/" >> ${LOG_FILE} 2>&1
    RS_CODE=$?
    t1=$(date +%s.%N)
    dt=$(echo ${t1} - ${t0} | bc)
    echo TMSTBR_v5 ${dt} delta seconds code:${RS_CODE} >> ${LOG_FILE}
    nsstart=${t0/./}
    dir='BUFR_v5'
    inflmne="TMSSYNC,dtype=${dir},host=${HOSTNAME},returncode=${RS_CODE} bufr5sync=${dt} ${nsstart}"
    echo ${inflmne} >> ${LOG_FILE}
    influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1
    # echo influx write --skip-verify "${inflmne}" >> ${LOG_FILE} 2>&1

) 98>/tmp/cdp_rsync_lock

