Re: Debilni chovani logrotate v Centos 7
Adam Pribyl <[email protected]>
| Newsgroups | gmane.linux.region.czech |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 5 Apr 2018, Pavel Kankovsky wrote: > On Thu, 5 Apr 2018, Petr Simek wrote: > >> On Thu, 5 Apr 2018, Pavel Kankovsky wrote: >> >>> On Sun, 1 Apr 2018, Petr Simek wrote: >>> >>> > jsem trochu nestastny z chovani logrotate v novem Centosu 7. U logu >>> > kde ma definovano 'rotate monthly' mi to vzdy na jare po zmene casu >>> > Z->L zrotuje dvakrat. Jednou ve stredu nasledujici po nedeli kdy se >>> > menil cas a pak jeste spravne 1.4. : [...] >>> >>> To je fakt zvláštní. Asi by bylo potřeba to zkusit nasimulovat a >>> sledovat, co se tam děje. >> >> Kolega co provozuje RedHat7 mi potvrdil ze se to chova stejne. A na Debianu >> ty mesicni logy rotuji taky blbe, jemu to navic zrotovalo >> mesic jeste nekdy 3.ledna . > > Když psa říkal "nasimulovat a sledovat, co se tam děje", tak jsem měl na > mysli přesně to, co jsem psal. > > Jistý pan Alex Hornby byl tak laskav, že už vynalezl příkaz "dateshift", a > tak jsem nebyl nucel toto kolo vynalézat znovu a mohl jsem si to rychle > vyzkoušet, jak by to dopadlo, kdyby logrotate nastavil na měsíční rotaci > nějakého logu a pak simuloval jeho spouštění někdy od konce ledna až do > dnešního dne. > > Připojím zkrácenou ukázku toho, co se tam stalo: > > ==== 2018-03-23 03:41:01 ==== > log does not need rotating (log has been rotated at 2018-3-1 2:45, that is > not month ago yet) > ==== 2018-03-24 03:23:01 ==== > log does not need rotating (log has been rotated at 2018-3-1 2:45, that is > not month ago yet) > ==== 2018-03-25 03:13:01 ==== > log does not need rotating (log has been rotated at 2018-3-1 1:45, that is > not month ago yet) > ==== 2018-03-26 03:07:01 ==== > log does not need rotating (log has been rotated at 2018-3-1 0:45, that is > not month ago yet) > ==== 2018-03-27 03:35:01 ==== > log needs rotating > > Problémem je nějaká zmatená interpretace časových údajů v souboru > logrotate.status: jakmile dojde ke změně na letní čas, tak to přečtený údaj > interpretuje o hodinu posunutý do minulosti a s tímto posunem ho zapíše i do > souboru. Každý den se to posune o hodinu zpět v čase, až se to dostane do > jiného měsíce, a pak několik dní po přechodu na letní čas dojde k zmatečné > rotaci! > > Problém je konkrétně ve funkci readState, která logrotate.status načítá. Ta > se pokouší přečtené údaje interpretovat funkcí mktime, ale nenamáhá se řádně > nastavit tm_isdst. Opět se zdá, že to už upstream logrotate opravil, ale > distribuce to má pořád ve vadné verzi: > > <https://github.com/logrotate/logrotate/commit/9c68d75c729b926e2c70bc579a12e58e472abf57> Tak to je ale na jasny bug report... resp. u RH jsem nasel https://bugzilla.redhat.com/show_bug.cgi?id=1465720 ale nejak se tam nemuzou dopocitat, dam jim tam odkaz sem, treba jim to pomuze. > -- > Pavel Kankovsky aka Peak "Que sçay-je?" Adam Pribyl _______________________________________________ Linux mailing list [email protected] http://www.linux.cz/mailman/listinfo/linux