#!/bin/bash
#scvdatesync 2018/02/05
#Copyright J's Communication Co., Ltd.
#========================================
PROGNAME="scvdatesync"
PROGVER="1.0.0"

DATE=`date +%Y%m%d%H%M%S`
CLUSTER=`scvclustd -cluster`
ROLE=`scvclustd -role`
MASTER==`scvclustd -master`

#----------------------------------------
usage(){
  echo "$PROGNAME $PROGVER"
  echo "This program sync date with master server."
  echo "Usage:"
  echo "  $PROGNAME -sync [-y]     #sync from master"
  echo "  $PROGNAME -v             #show verion of this"
  exit 1
}

#----------------------------------------
sure() {
  echo "Are you sure to continue? [y/N]"
  read ANSWER
  case $ANSWER in
    "Y" | "y" | "yes" | "Yes" | "YES" )  : ;;
    * ) echo "command canceled!"; exit 0 ;;
  esac
}

#----------------------------------------
syncdate(){
  echo ""
  echo "==============================="
  echo "$PROGNAME $PROGVER Started"
  echo "==============================="

  MASTERDATE=`sudo ssh scvadmin@$MASTER date`
  sudo date --set="$MASTERDATE"

  echo ""
  echo "-------------------------------"
  echo "$PROGNAME Finished"
  echo "-------------------------------"

  exit 0
}

#----------------------------------------
#ここからスタート
#----------------------------------------
#このコマンドはクラスタ構成でかつMaster以外でのみ有効
#クラスタロールのチェック
if [ "$CLUSTER" != "1" ];then
  echo "This is not cluster! This is for only cluster!"
  exit 0
fi

if [ "$ROLE" = "master" ];then
  echo "This is MASTER!  This is for SLAVE and MEMBERS!"
  exit 0
fi

#引数のチェック
if [ $# -ne 0 ];then
  if [ $1 = "-v" ];then
    echo $PROGVER
    exit 0
  elif [ $1 = "-sync" ];then
    if [ $# -ne 2  ];then
      sure
      syncdate
    elif [ $# -ne 3 ];then
      if [ $2 = "-y" ];then
        syncdate
      else
        usage
      fi
    else
      usage
    fi
  fi
else
  usage
fi

#eof
