장대한 삽질의 스크립트 ㅇㅇ


#!/bin/bash

YT_ID="roid"

YT_HOME="/home/roid/ytcap"

if [ "$USER" != "$YT_ID" ]; then

echo "This script must be run as $YT_ID" 1>&2

exit 1

fi

netstat -ntpl 2>/dev/null | grep LISTEN | grep [0-9:]:${1:-7090}" " -q ; 

IS_EXIST7090=$?

CHK_PS=`netstat -ntpl 2>/dev/null | grep LISTEN | awk '/:7090 */ {split($NF,a,"/"); print a[1]}'` ; 

ps -ef | grep java | grep YTCAP.jar | awk '{print $2}' | grep ${1:-$CHK_PS} -q 2>/dev/null ; 

IS_YT7090=$?

if [ $IS_EXIST7090 -eq 0 ] ; then

if [ $IS_YT7090 -eq 0 ] ; then

ps -ef | grep java | grep YTCAP.jar

echo "YTCAP already running !!"

exit 0

else

netstat -ntpl 2>/dev/null | grep LISTEN | grep [0-9:]:${1:-7090}" "

echo "7090 port already used by other process !!"

exit 1

fi

else

ps -ef | grep YTCAP.jar | grep ${1:-java} -q 2>/dev/null ; 

if [ $? -eq 0 ] ; then

ps -ef | grep java | grep YTCAP.jar

echo "YTCAP already running !! Wait a second for port listen !!"

exit 0

fi

fi

CUR_DIR=`pwd`

ps aux | grep java | grep YTCAP.jar | awk '{print $2}' | xargs kill 2>/dev/null

sleep 1

cd $YT_HOME

nohup java -Dfile.encoding=UTF-8 -Djava.ext.dirs=lib -jar YTCAP.jar -p 7090 >/dev/null 2>&1 &

cd $CUR_DIR

ps -ef | grep java | grep YTCAP.jar

exit 0



삽질의 집대성 ㅇㅇ


먼저 실행하는 id부터 체크


그후에 포트 리슨하는 넘이 이미 있는지 체크하고,

그런데 이 넘의 프로세스가 올라오는게 졸라 느려서

네트워크만 포트 리슨 안하면 혹시나 프로세스가 러닝 중인지 체크하고

그래도 없으면 올리는 스크립트.

ㅇㅇ


삽질의 집대성이라서 버리기 아까워서 일단 올려봄.

ㅇㅇ