ndm agent 추가
This commit is contained in:
198
roles/one_agent/templates/start.j2
Normal file
198
roles/one_agent/templates/start.j2
Normal file
@@ -0,0 +1,198 @@
|
||||
#!/bin/sh
|
||||
|
||||
#EXEM_NDM_HOME="/{{ EXEM_HOME }}/ndm"
|
||||
|
||||
source /{{ EXEM_HOME }}/ndm/bin/reg.env
|
||||
|
||||
|
||||
NDM_STOP_TIMEOUT=10
|
||||
|
||||
Usage()
|
||||
{
|
||||
echo "Usage : ndm-ctl [version|start|restart|stop]"
|
||||
echo ""
|
||||
exit $1
|
||||
}
|
||||
|
||||
|
||||
CMD_ARGUMENT=$@
|
||||
|
||||
BASE_NAME=`basename $0`
|
||||
|
||||
case "${BASE_NAME}" in
|
||||
start)
|
||||
CMD_ARGUMENT="start"
|
||||
;;
|
||||
stop)
|
||||
CMD_ARGUMENT="stop"
|
||||
;;
|
||||
restart)
|
||||
CMD_ARGUMENT="restart"
|
||||
;;
|
||||
version)
|
||||
CMD_ARGUMENT="version"
|
||||
;;
|
||||
mongomonctl)
|
||||
;;
|
||||
*)
|
||||
echo "unknown link. please check link name[$0]."
|
||||
Usage 1
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# option process
|
||||
if [ -n "${CMD_ARGUMENT}" ];
|
||||
then
|
||||
|
||||
for i in ${CMD_ARGUMENT}
|
||||
do
|
||||
|
||||
# echo "$i"
|
||||
|
||||
case "$i" in
|
||||
start)
|
||||
ENV_RUN_MODE="start"
|
||||
RUN_LIST="start"
|
||||
;;
|
||||
restart)
|
||||
ENV_RUN_MODE="restart"
|
||||
RUN_LIST="stop start"
|
||||
;;
|
||||
stop)
|
||||
ENV_RUN_MODE="stop"
|
||||
RUN_LIST="stop"
|
||||
;;
|
||||
version)
|
||||
ENV_RUN_MODE="version"
|
||||
RUN_LIST="version"
|
||||
;;
|
||||
help)
|
||||
Usage 0
|
||||
;;
|
||||
*)
|
||||
Usage 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ ! -d "${EXEM_NDM_HOME}" ];then
|
||||
echo "agent home directory is not exist.[${EXEM_NDM_HOME}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
cd ${EXEM_NDM_HOME} || exit 1
|
||||
|
||||
|
||||
PROCESS_NAME="exem-ndm-agent"
|
||||
SVC_FILE="ndm-svc"
|
||||
SVC_PID_FILE="data/svc.pid"
|
||||
AGENT_PID_FILE="data/ndm-agent.pid"
|
||||
|
||||
|
||||
echo "${PROCESS_NAME} ${ENV_RUN_MODE} --- "
|
||||
|
||||
|
||||
for MODE in ${RUN_LIST}; do
|
||||
|
||||
case "${MODE}" in
|
||||
version)
|
||||
bin/exem-ndm-agent -v
|
||||
;;
|
||||
start)
|
||||
|
||||
if [ -f "${SVC_PID_FILE}" ];then
|
||||
|
||||
SVC_PID=`cat ${SVC_PID_FILE}`
|
||||
|
||||
PROC_COMM=`cat /proc/${SVC_PID}/comm`
|
||||
if [ $? -ne 0 ];then
|
||||
PROC_COMM="none"
|
||||
fi
|
||||
|
||||
if [ "${PROC_COMM}" = "${SVC_FILE}" ];then
|
||||
echo "${PROCESS_NAME} is running."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${SVC_PID_FILE}
|
||||
|
||||
fi
|
||||
|
||||
if [ ! -f "bin/${SVC_FILE}" ];then
|
||||
echo "bin/${SVC_FILE} is not exist."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
bin/${SVC_FILE} >> ${EXEM_NDM_HOME}/log/svc.log 2>&1 &
|
||||
# bin/${SVC_FILE} > /dev/null 2>&1 &
|
||||
SVC_PID="$!"
|
||||
echo "SVC_PID[${SVC_PID}]"
|
||||
echo "${SVC_PID}" > ${SVC_PID_FILE}
|
||||
;;
|
||||
stop)
|
||||
|
||||
SVC_PID=`cat ${SVC_PID_FILE}`
|
||||
if [ $? -ne 0 ] || [ "${SVC_PID}" = "" ];then
|
||||
echo "${PROCESS_NAME} Service is not running."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PS_SVC_PID=`ps -ef | grep -v grep | grep ${SVC_PID} | grep ${SVC_FILE}`
|
||||
if [ ! "${PS_SVC_PID}" = "" ];then
|
||||
kill -9 ${SVC_PID}
|
||||
echo "${PROCESS_NAME} Service terminate."
|
||||
else
|
||||
echo "${PROCESS_NAME} Service pid is not match[${PS_SVC_PID}/${SVC_PID}]"
|
||||
fi
|
||||
|
||||
rm -rf ${SVC_PID_FILE}
|
||||
|
||||
|
||||
if [ -f "${AGENT_PID_FILE}" ];then
|
||||
|
||||
RUN_NDM_PID=`cat ${AGENT_PID_FILE} | tr '\0' '\n'`
|
||||
|
||||
rm -rf ${AGENT_PID_FILE}
|
||||
|
||||
echo -n "Waiting for ${PROCESS_NAME} process(${RUN_NDM_PID}) exit."
|
||||
|
||||
NUM="0"
|
||||
while [ ${NUM} -lt ${NDM_STOP_TIMEOUT} ]
|
||||
do
|
||||
PS_NDM_PID=`ps -ef | grep -v grep | grep ${RUN_NDM_PID} | grep mongomon`
|
||||
if [ "${PS_NDM_PID}" = "" ];then
|
||||
break
|
||||
fi
|
||||
|
||||
NUM=`expr ${NUM} + 1`
|
||||
sleep 1
|
||||
echo -n "."
|
||||
done
|
||||
|
||||
echo ""
|
||||
|
||||
if [ ${NUM} -eq ${NDM_STOP_TIMEOUT} ];then
|
||||
echo "${PROCESS_NAME} process shutdown wait timed out."
|
||||
else
|
||||
echo "${PROCESS_NAME} process terminated."
|
||||
fi
|
||||
|
||||
else
|
||||
echo "${PROCESS_NAME} process is not running."
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
Usage 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user