On Wed, Oct 01, 2008 at 07:52:48PM -0400, Grant Peel wrote:
>
> Hi all,
> 
> I have recently started using logrotate to rotate all the logs in the users 
> home directories. These are all apache logs files.
> 
> /home/domain.com/logsaccess_log
> /home/domain.com/logsaccess_log.0.gz
> /home/domain.com/logsaccess_log.1.gz
> /home/domain.com/logsaccess_log.2.gz
> 
> I have a problem though. Some of my domains have softlinks pointing to 
> them, this causes the logs to be rotated 2 or more times (i.e. 1 time for 
> the 'real' directory, and 1 time each for each softlink pointing to them).
> 
> Example
> 
> /home/domain.com/logs/
> domain2.com -> domain.com
> domain3.com -> domain.com
> 
> will result in the 'access_log' being rotated 3 times in one run, causing 
> my log dirs to look like this:
> 
> -rw-r--r--   1 root      holt   160 Oct  1 05:44 access_log
> -rw-r--r--   1 root      holt   446 Oct  1 05:44 error_log
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.1.gz
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.2.gz
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.3.gz
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.4.gz
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.5.gz
> -rw-r--r--   1 root      holt    20 Oct  1 03:46 access_log.6.gz
> -rw-r--r--   1 root      holt   224 Oct  1 03:46 access_log.7.gz
> -rw-r--r--   1 root      holt    20 Sep 30 03:46 access_log.8.gz
> -rw-r--r--   1 root      holt    20 Sep 30 03:46 access_log.9.gz
> 
> Here is this appropriate part of my logrotate.conf
> 
> # logrotate.conf
> 
> compress
> 
> ...
> 
> /home/*/logs/access_log {
>        missingok
>        rotate 14
>        daily
>        create 644 root
>        sharedscripts
>                postrotate
>                        /usr/local/sbin/apachectl restart
>                endscript
>                }
> 
> # End of logrotate.conf
> 
> 
> Question, is there a way to stop this from happening?
> 
> -Grant
> 

Aswell as doing what Jeremy Chadwick mentioned, you might want to use
newsyslog(8) to rotate your logs.

It's got a couple of advantages that I know of: it's part of the base
system and it gracefully sends Apache a signal (SIGUSR1) to stop it
writing to the logfile before it rotates it.

You want something like the following in newsyslog.conf(5):

/var/log/httpd-access.log   644  5   200  *     B    /var/run/httpd.pid  30

Obviously, adjust the parameters to suit your needs. You want the 30
at the end. All explained in the manpage.

Regards,

-- 

 Frank 


 Contact info: http://www.shute.org.uk/misc/contact.html 

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to