Portál AbcLinuxu, 16. července 2025 20:36


Dotaz: Komprimace logu

26.6.2012 13:27 iKoulee | skóre: 19
Komprimace logu
Přečteno: 359×
Odpovědět | Admin
Potreboval bych trochu nakopnout (mozna spravna klicova slova do google).

Loguju do souboru ktere se jmenuji /cesta/nazev.YYYYMMDD.log rad bych vice-mene klasicky rotoval, tzn.

dnes-x => komprimace

dnes-y => odstranit

Nabouchat neco v BASHi urcite neni problem, jen me prijde divne, ze bych byl prvni kdo to resi, takze neco podobneho musi existovat a nechci objevovat kolo.
Even if you fall on your face, you’re still moving forward
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.6.2012 13:31 trubicoid
Rozbalit Rozbalit vše Re: Komprimace logu
Odpovědět | | Sbalit | Link | Blokovat | Admin
treba logrotate to umi:

http://www.thegeekstuff.com/2010/07/logrotate-examples/ bod 4.
26.6.2012 13:31 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Komprimace logu
Odpovědět | | Sbalit | Link | Blokovat | Admin
man logrotate

Stačí? A nebo co přesně potřebujete? Stačí nainstalovat, nakonfigurovat a je to.....
26.6.2012 14:06 iKoulee | skóre: 19
Rozbalit Rozbalit vše Re: Komprimace logu
Asi jsem uplne blbej a bud neumim psat a nebo cist :-)

mam soubory
neco.20120624.log
neco.20120623.log
neco.20120622.log
neco.20120621.log
neco.20120620.log
neco.20120619.log
...
a rad bych aby z nich vznikalo treba toto:
neco.20120624.log
neco.20120623.log
neco.20120622.log
neco.20120621.log.gz
neco.20120620.log.gz
neco.20120619.log.gz
...
Logrotate samozrejme znam, jen jsem po precteni manualu nejak neprisel na to jak ho donutit tohle tvorit, protoze on nema moznost jak rozeznavat neco ze jmena. V podstate principem je, ze pokud budu chtiti kouknout do log souboru napr. z 23. unora 2012, pricemz mam historii nastavenou na 365 dni, tak proste kouknu do souboru neco.20120223.log.gz a neni potreba odpocitavat kolik dni je to do historie. Tohle se mi v konfiguraci logrotate vymyslet nepodarilo, alespon z toho co jsem si precetl v manualove strance.
Even if you fall on your face, you’re still moving forward
26.6.2012 14:27 trubicoid
Rozbalit Rozbalit vše Re: Komprimace logu
nu a bod 5. v tom mym linku?
26.6.2012 14:43 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Komprimace logu
Necháte rotovat pouze dva soubory, na druhý provedete kompresi delaycompress, no a po dokončení spustíte skript v sekci postrotate který soubor neco.log.2.gz přejmenuje na neco.datum.log.gz.

rADOn avatar 26.6.2012 15:35 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Komprimace logu
/cesta/neco {
    daily
    dateext
    compress
    missingok
}
(NOTE: logrotate je staletimi proverenej kousek softu, pokud neumi to co potrebujes, tak ses bud blbe dival nebo to zase tak moc nepotrebujes :-)
"2^24 comments ought to be enough for anyone" -- CmdrTaco
27.6.2012 11:17 iKoulee | skóre: 19
Rozbalit Rozbalit vše Re: Komprimace logu
:-) no jak o tom tak premyslim vypada to na situaci podle vzoru B, jenze ja jsem tvrdohlavy :-)

asi se vice rozepisu pracuju na sitovem logovani skrze syslog-ng, PE verze umi komprimovat pri zapisu, coz je vec ktera mi u OSE tak trochu schazi no a protoze logy polezou skrz sit, navic nektere i pomerne daleko (jak geograficky, tak na pocet hopu), takze na serveru se hlasky zarazuji do souboru podle casu zalogovani. Pokud to budu cpat do nejakeho souboru neco.log a prejmenovani nechal na logrotate muze se stat, ze nektere zpravy budou ulozene ve spatnem souboru, a to je vec ktere bych se rad vyhnul.

Bohuzel ale dostavam pocit ze si nekde sedim na vedeni, protoze je velice zvlastni, ze bych mel podobny problem jen ja. :-)
Even if you fall on your face, you’re still moving forward
rADOn avatar 28.6.2012 19:35 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Komprimace logu
To je přesně to co jsem měl na mysli tím že to "zase tak moc nepotřebuješ". Pokud to má být k něčemu, tak musí syslog sám psát do YYMMDD souboru, čili logrotaci vůbec nepotřebuješ. Nový soubor vznikne prostě tím že přijde zpráva. Pokud to tvůj syslog neumí, tak simulace logrotatem to nespraví. Protože nemůžeš spoléhat že přepnutí nastane na vteřinu přesně, stejně tam bude chvíle mezi rotací a otočením syslogu kdy to bude padat mimo.

BTW Zařazování podle timestampu zprávy je IMO nebezpečné protože když bude čas na zdrojové mašině špatně, tak zprávu ztratíš do špatného logu. A zprávy z mašin s nestejným časem budou pomíchané. V praxi když ti poběží synchronizace času tak se nerozjedou o víc než pár sekund, ale okno při rotaci taky není velké, takže se na to můžeš vybodnout, nacronovat logrataci na půlnoc a holt počítat že na konci logu je pár sekund z dalšího dne. Jako asi milion uživatelů logrotate před tebou :-). Když už něco takového chci přesně, tak postprocesingem na odrotovaném logu. (sort má dokonce parametr na spojování seřazených souborů)
"2^24 comments ought to be enough for anyone" -- CmdrTaco
29.6.2012 09:09 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Komprimace logu
... protože když bude čas na zdrojové mašině špatně, tak ...
Zažil som jednu viacvrstvovú enterprise aplikáciu, kde jednotlivé vrstvy bežali na oddelených strojoch, ktoré nemali synchronizovaný čas. Poviem vám, bolo to zúfalstvo analyzovať problém, keď v logoch následok o niekoľko minút predbiehal príčinu.

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.