Re: freebsd + apache + logrotate

From: Loke Dupont (none@loke.dupont--gmail.com.lh.bsd-dk.dk)
Date: Tue 29 Jul 2008 - 17:43:00 CEST


Date: Tue, 29 Jul 2008 17:43:00 +0200
From: "Loke Dupont" <none@loke.dupont--gmail.com.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: freebsd + apache + logrotate

2008/7/29 Ebbe Hjorth <none@info--ebbehjorth.dk.lh.bsd-dk.dk>

> >
> > 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>
>
> Så vidt jeg kan se her laver du tre stk apachectl stop, en for hver fil,
> det er vel det samme som at lave en HUP.

Jo, bortset fra at så vidt jeg kan se i loggen han pastede efterfølgende, så
bliver stop og start kun kørt en gang, efter alle logfilerne er roteret.

> > 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