Re: freebsd + apache + logrotate

From: Hack Kampbjørn (none@bsd-dk--hack.kampbjorn.com.lh.bsd-dk.dk)
Date: Tue 29 Jul 2008 - 16:25:55 CEST


From: Hack Kampbjørn <none@bsd-dk--hack.kampbjorn.com.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: freebsd + apache + logrotate
Date: Tue, 29 Jul 2008 16:25:55 +0200


On 2008-07-29, at 13:52, Ebbe Hjorth wrote:

>>> Jeg bruger newsyslog da den har funktionen med at sætte et max antal
>>> logs
>>> f.eks. 12, det har apache logrotate funktion ikke.
>>>
>>> Jeg har prøvet med
>>>
>>> /usr/local/www/dnstools.dk/log/apz.dk-access_log www:www 640 12 *
>>> $M1D0
>>> B
>>> /var/run/httpd.pid 30
>>>
>>> Og det roterer den fint hver den første i måneden.
>>>
>>> 1. Er der en smart måde at rotere flere logs på én gang eller skal
>>> jeg
>>> lave to af disse liner i /etc/newsyslog.conf for hver virtual host?
>>
>> Jeg har dette i /etc/newsyslog.conf:
>>
>> /var/log/httpd-access.log 640 7 * @T00 JC
>> /var/run/httpd.pid
>> /var/log/httpd-error.log 640 7 100 * JC
>> /var/run/httpd.pid
>>
>
> Det er også dette jeg har brugt til at teste med, men den HUP'er
> apache 2
> gange og har 2 liner - Dermed skal jeg have to liner for hver host, og
> HUP'e 2 gange - når jeg nu har 20+ vhosts så skal overstående ske 20+
> gange, hvilket jeg gerne vil undgå.
>

Underligt, min newsyslog kan godt finde ud af kun lave en HUP:
$ cat /tmp/newsyslog.conf
/var/www/logs/access_log 644 7 1 * ZB
"apachectl stop && sleep 6 && apachectl start"
/var/www/logs/ssl_access_log 644 7 1 * ZB
"apachectl stop && sleep 6 && apachectl start"
/var/www/logs/error_log 644 7 1 * ZB
"apachectl stop && sleep 6 && apachectl start"
$ newsyslog -n -f /tmp/newsyslog.conf
/var/www/logs/access_log <7ZB>
         rm -f /var/www/logs/access_log.7 /var/www/logs/access_log.7.gz
         mv /var/www/logs/access_log.3.gz /var/www/logs/access_log.4.gz
         chmod 644 /var/www/logs/access_log.4.gz
         chown 0:1 /var/www/logs/access_log.4.gz
         mv /var/www/logs/access_log.2.gz /var/www/logs/access_log.3.gz
         chmod 644 /var/www/logs/access_log.3.gz
         chown 0:1 /var/www/logs/access_log.3.gz
         mv /var/www/logs/access_log.1.gz /var/www/logs/access_log.2.gz
         chmod 644 /var/www/logs/access_log.2.gz
         chown 0:1 /var/www/logs/access_log.2.gz
         mv /var/www/logs/access_log.0.gz /var/www/logs/access_log.1.gz
         chmod 644 /var/www/logs/access_log.1.gz
         chown 0:1 /var/www/logs/access_log.1.gz
         mktemp /var/www/logs/access_log.XXXXXXXXXX
         mv /var/www/logs/access_log to /var/www/logs/access_log.0
         chmod 644 /var/www/logs/access_log.0
         chown 0:1 /var/www/logs/access_log.0
         mv /var/www/logs/access_log.XXXXXXXXXX to /var/www/logs/
access_log
/var/www/logs/ssl_access_log <7ZB>
         rm -f /var/www/logs/ssl_access_log.7 /var/www/logs/
ssl_access_log.7.gz
         mv /var/www/logs/ssl_access_log.0.gz /var/www/logs/
ssl_access_log.1.gz
         chmod 644 /var/www/logs/ssl_access_log.1.gz
         chown 0:1 /var/www/logs/ssl_access_log.1.gz
         mktemp /var/www/logs/ssl_access_log.XXXXXXXXXX
         mv /var/www/logs/ssl_access_log to /var/www/logs/
ssl_access_log.0
         chmod 644 /var/www/logs/ssl_access_log.0
         chown 0:1 /var/www/logs/ssl_access_log.0
         mv /var/www/logs/ssl_access_log.XXXXXXXXXX to /var/www/logs/
ssl_access_log
/var/www/logs/error_log <7ZB>
         rm -f /var/www/logs/error_log.7 /var/www/logs/error_log.7.gz
         mktemp /var/www/logs/error_log.XXXXXXXXXX
         mv /var/www/logs/error_log to /var/www/logs/error_log.0
         chmod 644 /var/www/logs/error_log.0
         chown 0:1 /var/www/logs/error_log.0
         mv /var/www/logs/error_log.XXXXXXXXXX to /var/www/logs/
error_log
run apachectl stop && sleep 6 && apachectl start
gzip /var/www/logs/access_log.0
gzip /var/www/logs/ssl_access_log.0
gzip /var/www/logs/error_log.0

Opdater til OpenBSD ;-)

/Hack



This archive was generated by hypermail 2b30 : Thu 31 Jul 2008 - 23:00:01 CEST