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