#!/bin/bash
############################################################
#
# 여러개의 각각 다른 포트를 사용하는 apache-tomcat에 대해
# 시작/종료를 관리한다.
#
############################################################
SSC_ONOFF=("0" "0" "1" "1")
SSC_USERS=("ssc_0431" "ssc_1620" "ssc_1910" "ssc_2010")
SSC_PORTS=("8086" "8085" "8084" "8080")
SSC_HOME_DIR="/home"
############################################################
#
# server.xml에서 기본 8080 포트번호를 +index 만큼 더하여
# 변경한다.
# 예) port_changer 6 /home/ssc_0431/8086/conf/server.xml
# index=6 > 8086으로 변경됨
#
############################################################
function port_changer () {
if [ ! -f $2 ]
then
echo "$2 not found."
exit 1
fi
if [ ! -f $2.orig ]
then
cp -fv $2 $2.orig
fi
PORT1=$(expr 8080 + $1)
PORT2=$(expr 8443 + $1)
PORT3=$(expr 8009 + $1)
PORT4=$(expr 8005 + $1)
if ! [ -w $2 ]; then
usage
fi
echo "> index: $1"
echo "> file: $2"
sed -i "s/8080/${PORT1}/g" $2
sed -i "s/8443/${PORT2}/g" $2
sed -i "s/8009/${PORT3}/g" $2
sed -i "s/8005/${PORT4}/g" $2
}
############################################################
#
# 파일 권한 변경 및 로그를 삭제한다.
#
############################################################
function init_daemon () {
COUNT1=0
for LOOP1 in "${SSC_USERS[@]}"
do
chown -R "${LOOP1}:users" "/home/${LOOP1}"
chmod 755 /home/${LOOP1}/${SSC_PORTS[${COUNT1}]}/bin/*.sh
COUNT1=$(expr ${COUNT1} + 1)
done
COUNT1=0
for LOOP1 in "${SSC_USERS[@]}"
do
rm -rf /home/${LOOP1}/${SSC_PORTS[${COUNT1}]}/logs/*
rm -rf /home/${LOOP1}/${SSC_PORTS[${COUNT1}]}/temp/*
rm -rf /home/${LOOP1}/.fortify/ssc/logs/*
COUNT1=$(expr ${COUNT1} + 1)
done
}
case "$1" in
start)
echo "Starting apache-tomcat services: "
COUNT1=0
for LOOP1 in "${SSC_USERS[@]}"
do
if [ ${SSC_ONOFF[${COUNT1}]} == "1" ]
then
su - -c "/home/${LOOP1}/${SSC_PORTS[${COUNT1}]}/bin/startup.sh" ${LOOP1}
fi
COUNT1=$(expr ${COUNT1} + 1)
done
;;
stop)
echo "Shutting down apache-tomcat services: "
COUNT1=0
for LOOP1 in "${SSC_USERS[@]}"
do
if [ ${SSC_ONOFF[${COUNT1}]} == "1" ]
then
su - -c "/home/${LOOP1}/${SSC_PORTS[${COUNT1}]}/bin/shutdown.sh" ${LOOP1}
fi
COUNT1=$(expr ${COUNT1} + 1)
done
;;
restart)
$0 stop
$0 start
;;
init)
init_daemon
;;
pc)
port_changer $2 $3
;;
*)
echo "Usage: $0 {start|stop|restart|init|pc}"
echo " ex) $0 pc 6 /home/tomcat/conf/server.xml"
exit 1
;;
esac