Portál AbcLinuxu, 26. dubna 2024 09:37


Dotaz: Logrotate neloguje moje logy

13.12.2011 04:21 mike
Logrotate neloguje moje logy
Přečteno: 469×
Odpovědět | Admin
Ahoj. Snažím se přimět logrotate, aby logoval moje logy ve /var/www/web/[nazevwebu]/logs. Po zadání "/usr/sbin/logrotate -df /etc/logrotate.conf" to orotuje všechny logy, kromě těch mých. U těch mých to píše:
rotating log /var/www/web/www.domena.cz/logs/error_log, log->rotateCount is 4
dateext suffix '-20111213'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding logs to compress failed
glob finding old rotated logs failed
Soubor /etc/logrotate.d/httpd vypadá takto:
/var/log/httpd/*log /var/www/web/*/logs/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}
Kde dělám chybu?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.12.2011 04:23 mike
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Odpovědět | | Sbalit | Link | Blokovat | Admin
logoval->rotoval
13.12.2011 07:10 pupu | skóre: 31
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rekl bych, ze to je uplne normalni, pokud ten log nema jeste zadne odrotovane.
13.12.2011 07:59 mike
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
To je právě to, proč nerotuje právě tyto logy, i když mu dám -f (rotovat vše).
13.12.2011 09:47 pet
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Ze by byly jeste male (kratke)?
14.12.2011 10:23 pupu | skóre: 31
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Se zadanym -d to urcite neodrotuje. Ty hlasky jsou IMHO o tom, ze stare logy jeste nejsou. Coz takhle logrotate -v -f ?
13.12.2011 12:01 CET
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Odpovědět | | Sbalit | Link | Blokovat | Admin
to je opravdu celej vypis? to se mi nejak nezda ...

zkus pustit logrotate -df /etc/logrotate.d/httpd a vloz sem cely vypis
13.12.2011 18:48 mike
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Není. Musím pouštět logrotate na logrotate.conf protože tam jsou některé direktivy. Nicméně ani přímo na httpd to nefunguje. Vyberu ty důležité řádky (logů je tam moc a výpis j zbytečně moc dlouhý):
including /etc/logrotate.d
...
reading config file httpd
reading config info for /var/log/httpd/*log /var/www/web/*/logs/*log
...
rotating pattern: /var/log/httpd/*log /var/www/web/*/logs/*log  forced from command line (4 rotations)
empty log files are not rotated, old logs are removed
...
considering log /var/www/web/www.domena.cz/logs/access_log
  log needs rotating
considering log /var/www/web/www.domena.cz/logs/error_log
  log needs rotating
...
rotating log /var/www/web/www.domena.cz/logs/access_log, log->rotateCount is 4
dateext suffix '-20111213'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding logs to compress failed
glob finding old rotated logs failed
rotating log /var/www/web/www.domena.cz/logs/error_log, log->rotateCount is 4
dateext suffix '-20111213'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding logs to compress failed
glob finding old rotated logs failed
...
16.12.2011 11:01 CET
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
hmmm, to je opravdu divny. Kdyz spustim muj logrotate, tak dostanu tohle
rotating pattern: /var/log/mysql/mysql.err /var/log/mysql/mysql.log /var/log/mysql/mysqld.err  forced from command line (4 rotations)
empty log files are not rotated, only log files >= 5242880 bytes are rotated, old logs are removed
considering log /var/log/mysql/mysql.err
  log does not need rotating
considering log /var/log/mysql/mysql.log
  log does not need rotating
considering log /var/log/mysql/mysqld.err
  log needs rotating
rotating log /var/log/mysql/mysqld.err, log->rotateCount is 4
dateext suffix '-20111216'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
renaming /var/log/mysql/mysqld.err to /var/log/mysql/mysqld.err-20111216
creating new /var/log/mysql/mysqld.err mode = 0660 uid = 60 gid = 60
running postrotate script
Az po ten radek glob finding old rotated logs failed je to stejny. U tebe to pak zahlasi glob finding old rotated logs failed, hmmm netusim, zkus to rozchodit postupne a pak pridavej.

1) Zacni s jednim novym logovym souborem a definuj ho plnou cestou, treba /tmp/testlogdir/testlog-file.

2) Pokud to funguje, tak zkus vytvorit jakoby nejake starsi soubory - muzes je vzit z nejakeho jednoho webu nebo cestu definuj pro jeden web /var/www/web/www.domena.cz/logs/access_log.

3) Pak zkus definovat ty log soubory u jedne domeny /var/www/web/www.domena.cz/logs/*log.

4) No pak zkus nahradit www.seznam.cz hvezdickou, ze dostanes puvodni /var/www/web/*/logs/*log.

V jakych pripadech to fungovalo a kde to prestalo fungovat?
16.12.2011 11:43 mike
Rozbalit Rozbalit vše Re: Logrotate neloguje moje logy
Už to začalo fungovat tak nějak samo. Příkaz s parametry "-df" už mi píše, že to chce rotovat a pokud teď odeberu "-d", tak se to opravdu orotuje. Řekl bych, že to bylo způsobené malou velikostí logů, ačkoliv tu nikde nenastavuji a -f resp. -d by mělo velikost logu ignorovat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.