DeleGaate用Log切替Tool(FreeBSD3.1)


#!/bin/sh
############################################################
# DeleGate log change for cron                             #
#            By H.Uekusa 1999.05.31                        #
############################################################
check_param()
{
if [ "$1" = "" ]
	then
	echo 'Usage : chglog.sh  DeleGate-Log-DIR PORT-NO  '>&2
	exit
fi
}

main()
{
PORT_ORG=$2
if [ $PORT_ORG = "10080" ]
	then
	PORT=10080.ftp
	mv_log $1 $2
	PORT=10080.http
	mv_log $1 $2
	PORT=10080
	mv_log $1 $2
else
	PORT=$PORT_ORG
	mv_log $1 $2
fi

kill -HUP `cat /tmp/delegate/pid/$PORT_ORG`
}

mv_log()
{
LOGNAME=`echo $1"/"$PORT`
COUNT=5

if [ -f $LOGNAME.6 ]
	then
	rm -f $LOGNAME.6
else
	touch $LOGNAME.6
	/usr/sbin/chown nobody.nobody $LOGNAME.6
fi

while [ $COUNT != -1 ]
do
if [ -f "$LOGNAME.$COUNT" ]
	then
COUNT_2=`expr $COUNT + 1`
	mv $LOGNAME.$COUNT $LOGNAME.$COUNT_2
else
	touch $LOGNAME.$COUNT
	/usr/sbin/chown nobody.nobody $LOGNAME.$COUNT
fi
COUNT=`expr $COUNT - 1`
done

if [ -f "$LOGNAME" ]
	then
	mv $LOGNAME $LOGNAME.0
	touch $LOGNAME
	/usr/sbin/chown nobody.nobody $LOGNAME
fi
}

check_param $1 $2
main $1 $2