Обсуждение: Log rotation

Поиск
Список
Период
Сортировка

Log rotation

От
"Gaetano Mendola"
Дата:
Hi to all,

I configured the log rotation of postgresql  started in this way:

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -D $PGDATA -p
/usr/bin/postmaster start  > /var/log/postgresql.log 2>&1" < /dev/null

with the log rotate file:

/var/log/postgresql.log {
    compress
    rotate 5
    size=10000k
    create 0664 postgres postgres
    daily
    sharedscripts
    copytruncate
}

the problem now is that the postgres server is really
stressed and write continuosly on the log file
and the file is not truncated!!!!!

anyone have any idea??



Ciao
Gaetano

--
#exclude <windows>
#include <CSRSS>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");


Re: Log rotation

От
Andre Schubert
Дата:
Gaetano Mendola schrieb:
>
> Hi to all,
>
> I configured the log rotation of postgresql  started in this way:
>
> su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -D $PGDATA -p
> /usr/bin/postmaster start  > /var/log/postgresql.log 2>&1" < /dev/null
>
> with the log rotate file:
>
> /var/log/postgresql.log {
>     compress
>     rotate 5
>     size=10000k
>     create 0664 postgres postgres
>     daily
>     sharedscripts
>     copytruncate
> }
>
> the problem now is that the postgres server is really
> stressed and write continuosly on the log file
> and the file is not truncated!!!!!
>
> anyone have any idea??

You can use multilog on linux.

Re: Log rotation

От
"Gaetano Mendola"
Дата:
"Andre Schubert" <andre.schubert@km3.de> wrote:
> You can use multilog on linux.


Hi, I don't know what's multilog but I resolved my
problem in this way (general suggestions for all):

#File postgresql.conf

syslog = 2
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'


#File /etc/logrotate.d/postgres

/var/log/postgresql.log {
    compress
    rotate 5
    size=10000k
    errors mendola@bigfoot.com
    create 0664 postgres postgres
    daily
    postrotate
           /usr/bin/killall -HUP syslogd
    endscript
}


#In File syslog.conf
LOCAL0.*
/var/log/postgresql.log


Ciao
Gaetano

--
#exclude <windows>
#include <CSRSS>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");









Re: Log rotation

От
Andre Schubert
Дата:
Gaetano Mendola schrieb:
>
> "Andre Schubert" <andre.schubert@km3.de> wrote:
> > You can use multilog on linux.
>
> Hi, I don't know what's multilog but I resolved my
> problem in this way (general suggestions for all):

multilog does exactly the same as logrotate, but it is a process itself.
we you it this way:
su -l postgres -c "/usr/bin/pg_ctl ....' start 2>&1 | /usr/bin/multilog
s16777215 n20 '/var/log/psql' &" < /dev/null

Everything coming from postgres is piped through multilog and multilog
creates logfiles in the directory
/var/log/pgsql. Each logfile is 16777215 bytes big, and there are max 20
logfiles.
There should be a multilog-rpms somewhere for linux.
Hope this also helps.

Regards

>
> #File postgresql.conf
>
> syslog = 2
> syslog_facility = 'LOCAL0'
> syslog_ident = 'postgres'
>
> #File /etc/logrotate.d/postgres
>
> /var/log/postgresql.log {
>     compress
>     rotate 5
>     size=10000k
>     errors mendola@bigfoot.com
>     create 0664 postgres postgres
>     daily
>     postrotate
>            /usr/bin/killall -HUP syslogd
>     endscript
> }
>
> #In File syslog.conf
> LOCAL0.*
> /var/log/postgresql.log
>
> Ciao
> Gaetano
>
> --
> #exclude <windows>
> #include <CSRSS>
> printf("\t\t\b\b\b\b\b\b");.
> printf("\t\t\b\b\b\b\b\b");
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org