2008/9/4 Chris Johnson <[EMAIL PROTECTED]>:
> Does anyone successfully have logrotate working with varnishncsa?
>
> Thanks,
> Chrs

Below is the solution I came up with.  The lastaction part may not be
necessary for anyone else, but on occasion it seemed to be necessary
for us, and rather than spending much time looking into the underlying
cause I'm okay with this solution.

Nathan

/etc/logrotate.d/varnish
===========================
/var/log/varnish/varnish.log {
  daily
  rotate 52
  compress
  create
  delaycompress
  dateext
  postrotate
    /usr/sbin/invoke-rc.d varnishlog reload > /dev/null
    DATE=$(date +%Y%m%d)
    VDIR=/var/log/varnish
    # varnishlog or varnishncsa(??) seems to produce a lot of entries
that are null,
    # the grep -v in the middle just attempts to eliminate them
    /usr/bin/ionice -c3 /usr/bin/varnishncsa -r
$VDIR/varnish.log-$DATE | grep -v '^- - -' | gzip >
$VDIR/varnish.log-$DATE.gz && rm $VDIR/varnish.log-
$DATE
  endscript
  lastaction
    # Sometimes, for reasons that I can't explain, varnishlog stops
logging after
    # rotation.  The new log just sits there at 0 bytes and it takes a reload to
    # make it start logging again.  It could be some complex timing issue, but
    # hopefully just adding one last restart of varnishlog will be enough.
    /usr/sbin/invoke-rc.d varnishlog force-reload > /dev/null
  endscript
}
===========================
_______________________________________________
varnish-misc mailing list
[email protected]
http://projects.linpro.no/mailman/listinfo/varnish-misc

Reply via email to