Thread: Definitive logrotate solution?

Definitive logrotate solution?

From
Wells Oliver
Date:
Might anyone share theirs? My log_rotation is set to 'stderr', and the log files are being put into /var/log/postgresql.

My main concern is the postrotate action-- want to make sure the log is properly rotated, unneeded older logs removed, and postgres... properly bounced?

Thanks for any tips.

--
Wells Oliver
wellsoliver@gmail.com

Re: Definitive logrotate solution?

From
Tom Lane
Date:
Wells Oliver <wellsoliver@gmail.com> writes:
> Might anyone share theirs? My log_rotation is set to 'stderr', and the log
> files are being put into /var/log/postgresql.

> My main concern is the postrotate action-- want to make sure the log is
> properly rotated, unneeded older logs removed, and postgres... properly
> bounced?

Use the logging collector with its built-in rotation parameters, and you
don't need anything else.

If you insist on an external solution, there's basically no way except
to shut down and restart postgres after any rotation, because there are
going to be N processes all connected to the same stderr file descriptor.

            regards, tom lane

Re: Definitive logrotate solution?

From
Wells Oliver
Date:
How do you ensure you're not keeping logs from 35+ days ago, or whatever? Just a find -mtime +10 -exec rm {}\; kind of thing?

On Wed, Apr 11, 2012 at 4:03 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Wells Oliver <wellsoliver@gmail.com> writes:
> Might anyone share theirs? My log_rotation is set to 'stderr', and the log
> files are being put into /var/log/postgresql.

> My main concern is the postrotate action-- want to make sure the log is
> properly rotated, unneeded older logs removed, and postgres... properly
> bounced?

Use the logging collector with its built-in rotation parameters, and you
don't need anything else.

If you insist on an external solution, there's basically no way except
to shut down and restart postgres after any rotation, because there are
going to be N processes all connected to the same stderr file descriptor.

                       regards, tom lane



--
Wells Oliver
wellsoliver@gmail.com

Re: Definitive logrotate solution?

From
Tom Lane
Date:
Wells Oliver <wellsoliver@gmail.com> writes:
> How do you ensure you're not keeping logs from 35+ days ago, or whatever?
> Just a find -mtime +10 -exec rm {}\; kind of thing?

Well, that depends on what you want to do.  I like to choose the log file
names so that they'll automatically be reused once a week or month.

            regards, tom lane