[Zope] rotate Z2.log

Marcin Kasperski Marcin.Kasperski@softax.com.pl
Mon, 28 Aug 2000 15:39:21 +0200


This is a multi-part message in MIME format.
--------------7EF07906F21F7DDACD867334
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit

Marcus Mendes wrote:
> 
> Hello,
> 
> How can I rotate my Z2.log??  It's very large !
> 

Using the same method as for rotating Apache logs. For instance, on my
Debian Linux I created the file
	/etc/cron.daily/zope_daily
(made via copying and editing equivalent file for Apache), which rotates
logs. Examine the attachement...



-- Serwis dla programistów, kącik mieszkaniowy: http://www.mk.w.pl 
|
| The only way to truly control a software project is to continuously   
| measure its progress, compare that  to the plan, and then adjust the  
| development  parameters to correct any deviation. Simple. (Martin)
--------------7EF07906F21F7DDACD867334
Content-Type: text/plain; charset=iso-8859-2;
 name="zope_daily"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="zope_daily"

#!/bin/sh
#
# Rotowanie logów zope

cd /opt/Zope-var/var

LOGS=/opt/Zope-var/var/Z2.log
USR=www-data
GRP=www-data

[ -f $LOGS ] || exit 0

APACHE_OLD_LOGS=35
APACHE_DAYS_TO_RUN=all
APACHE_DAY_TO_RUN=any
APACHE_POST_SCRIPT=
APACHE_CHOWN_LOGFILES=1

umask 022

RUNTODAY=0

if [ "$APACHE_DAY_TO_RUN" = "any" ] ; then

    # Get today's day and convert to lowercase.
    TODAY=$(date +%a | tr 'A-Z' 'a-z')
    # Convert days_to_run to lowercase.
    APACHE_DAYS_TO_RUN=$(echo $APACHE_DAYS_TO_RUN | tr 'A-Z' 'a-z')
    echo "$APACHE_DAYS_TO_RUN" | grep -q "$TODAY" && RUNTODAY=1
    [ "$APACHE_DAYS_TO_RUN" = "all" ] && RUNTODAY=1

else

    # Get today's day: 01 .. 31
    TODAY=$(date +%d | cat)
    if [ $APACHE_DAY_TO_RUN = "$TODAY" ] ; then RUNTODAY=1; fi

    # Get today's day: 001 .. 366
    TODAY=$(date +%j | cat)
    if [ $APACHE_DAY_TO_RUN = "$TODAY" ] ; then RUNTODAY=1; fi

fi

if [ "$RUNTODAY" = "1" ] ; then
    
    for LOG in $LOGS
    do
	if [ -f $LOG ]
	then
	    if [ "$APACHE_CHOWN_LOGFILES" = "1" ]
	    then
		savelog -c $APACHE_OLD_LOGS -m 664 -u $USR -g $GRP \
		    $LOG > /dev/null
	    else
		savelog -c $APACHE_OLD_LOGS -m 644 -u root -g root \
		$LOG > /dev/null
	    fi
	fi
    done

    /etc/init.d/zope restart

#    # Send a reload signal to the e server.
#    /etc/init.d/apache reload > /dev/null

    # Run apache post processing script if executable.
    if [ -x "$APACHE_POST_SCRIPT" ]
    then
	$APACHE_POST_SCRIPT
    fi

fi

--------------7EF07906F21F7DDACD867334--