内部应用服务器flume初始版本
This commit is contained in:
39
internal-flume/conf/security/dae_security.sh
Executable file
39
internal-flume/conf/security/dae_security.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
#JAR_NAME=ktk_ip_asn.properties
|
||||
PROPERTIES_NAME=security_f2k
|
||||
#flume进程名称
|
||||
FLUME_NAME=security
|
||||
#flume根目录
|
||||
BASE_DIR=$(cd $(dirname $0); cd ../../; pwd)
|
||||
#当前路径
|
||||
CONF_DIR=$(cd $(dirname $0); pwd)
|
||||
#进程总数
|
||||
PROCESS_SUM=5
|
||||
|
||||
echo "##############################################################" >> ${CONF_DIR}/restart_log/restart_${PROPERTIES_NAME}.log
|
||||
id=0 #配置文件后面的序号,无特殊作用
|
||||
flag=0 # flag为0表示初始化状态,为1表示完整启动成功所有进程,为2表示进程意外停止之后又重新杀死其余的进程并重新启动所有进程
|
||||
while true ; do
|
||||
NUM=`ps -ef | grep ${PROPERTIES_NAME} | grep -v grep | grep -v dae |wc -l`
|
||||
pids=$(ps -ef | grep ${PROPERTIES_NAME}\* | grep properties | awk '{print $2}')
|
||||
time_stamp=$(date +%Y%m%d%H%M%S)
|
||||
#大于设置进程数,杀掉所有进程,重启
|
||||
if [[ "${NUM}" -ne ${PROCESS_SUM} && $flag -eq "1" ]];then
|
||||
for pid in $pids
|
||||
do
|
||||
kill -9 $pid
|
||||
done
|
||||
flag=2
|
||||
#如果正在运行的进程数小于定义的进程数,就启动
|
||||
elif [ "${NUM}" -lt ${PROCESS_SUM} ];then
|
||||
id=$(( ( ($id) % $PROCESS_SUM ) + 1 ))
|
||||
nohup ${BASE_DIR}/bin/flume-ng agent -n ${FLUME_NAME} -c ${CONF_DIR} -f ${CONF_DIR}/${PROPERTIES_NAME}$id.properties >/dev/null 2>&1 &
|
||||
echo "${time_stamp} ---> the ${PROPERTIES_NAME}_APP restart ---> $id" >> ${CONF_DIR}/restart_log/restart_${PROPERTIES_NAME}.log
|
||||
#进程数如果等于指定的进程数,那就设置flag为1 id为0
|
||||
elif [ "${NUM}" -eq ${PROCESS_SUM} ];then
|
||||
flag=1
|
||||
id=0
|
||||
fi
|
||||
sleep 10
|
||||
done
|
||||
Reference in New Issue
Block a user