#!/bin/sh
# システムチェック
# ---------------------------------------------- #

##### Main routine ###############################

# Function読み込み
. ${INST_HOME}/function.sh

# 初期処理
initialize

# 判別値の初期化
FLAG=0
STOP_FLAG=0
declare -a SERVICE_LIST
svrCnt=0

# 開始出力
CLEAR
msg_info  "${SECUREMATRIX} の状態をチェックします。" \
          " " \
          "<!> アンアップデートを行うには、" \
          "    ${SECUREMATRIX}、crond を停止させておく必要があります。" \
          "    また、Database へのアクセスを停止させておく必要があります。"
          
#echo ""
echo_sp "状態チェック."
write_log "プロセス状態確認"

##### 稼動系チェック ###########################################################
#----- Cron のチェック ------#
/opt/cse/smx/common/bin/monitor/process_check_all.sh | grep "Cron:on" > /dev/null
if [ $? -eq 0 ] ; then
  FLAG=1
  SERVICE_LIST[$svrCnt]="Cron            [ $CRON_STOP ]"
  svrCnt=`expr $svrCnt + 1`
fi
echo_sp "."

#----- ISBのチェック ------#
$ps $PS_OPT | $grep "$ISB_CMD" | $grep -v 'grep' > /dev/null
if [ $? -eq 0 ] ; then
  FLAG=1
  SERVICE_LIST[$svrCnt]="ISB サーバ      [ $ISB_STOP ]"
  svrCnt=`expr $svrCnt + 1`
fi
echo_sp "."

#----- EasySetup のチェック ------#
$ps $PS_OPT | $grep "$EZS_CMD" | $grep -v 'grep' > /dev/null
if [ $? -eq 0 ] ; then
  FLAG=1
  SERVICE_LIST[$svrCnt]="EasySetup       [ $EZS_STOP ]"
  svrCnt=`expr $svrCnt + 1`
fi
echo_sp "."

#----- PostgreSQLのチェック ------#
$ps $PS_OPT | $grep "$PGSQL_CMD" | $grep -v 'grep' > /dev/null
if [ $? -eq 0 ] ; then
  FLAG=1
  SERVICE_LIST[$svrCnt]="Database サーバ [ $PGSQL_STOP ]"
  svrCnt=`expr $svrCnt + 1`
fi
echo_sp "."


# 結果出力
if [ $FLAG -eq 0 -a $STOP_FLAG -eq 0 ] ; then
  
  $echo "${SECUREMATRIX} の状態を確認"
  $echo ""
  msg_dialog  "${SECUREMATRIX} が停止していることを確認できました。" \
              "処理を継続します。"
  write_log "プロセス状態確認の完了"
  WAIT_ENTER
  
  exit 0
  
else
  
#  $echo "${SECUREMATRIX} の状態に不具合を確認！"
  $echo "エラー発生"
  $echo ""
  msg_err "停止すべきプロセスが稼動中です。" \
          "アンアップデートを中断します。" \
          " " \
          "<!> アンアップデートを行う事前準備として下記のコマンドを実行してください。" \
          "    （コマンドは、root権限で実行してください。）" \
          " " \
          "${SERVICE_LIST[0]}" \
          "${SERVICE_LIST[1]}" \
          "${SERVICE_LIST[2]}" \
          "${SERVICE_LIST[3]}"
  arize_err "dmy" "${SECUREMATRIX} の状態に不具合を確認！"
  exit 1
  
fi
