Debilni chovani logrotate v Centos 7

Petr Simek psimek na jcu.cz
Čtvrtek Duben 5 12:34:02 CEST 2018


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 .

> Podle /var/log/cron se logrotate spouští každý den někdy mezi 3. a 4. hodinou 
> ráno, ale není to úplně pravidelné. Kouknul jsem se na jeden testovací stroj 
> a tam jsem objevil jeden případ týdenní rotace odložené na pondělí:
>
> Mar 11 03:44:01
> Mar 18 03:33:01 <-- rotace se neprovedla v neděli
> Mar 19 03:09:01 <-- ale až v pondělí
> Mar 25 03:13:01
> Apr  1 03:45:01
>
> Je to malý vzorek, tak z toho nelze dělat žádné zásadní závěry, ale je možné,

Ten koleguv Redhat7 i Debian to same, weekly rotace Ne i Po v pomeru
tak 2:1 .


> že když se to spustí v neděli v dřívějším čase než předchozí neděli (03:33:01 
> < 03:44:01), tak si logrotate myslí, že je to moc brzo. logrotate(8) to 
> popisuje takto:
>
>       weekly Log  files  are  rotated  if the current weekday is less
>              than the weekday of the last rotation or if more than a week
>              has passed since the last rotation. This is  normally the
>              same as rotating logs on the first day of the week, but
>              it works better if logrotate is not run every night.
>
> Jelikož to počítá dny po angloamericku, tak neděle < pondělí, čili po 
> pondělním spuštění se to vrátí na neděli. Ale pokud "more than a week" 
> posuzuje jako "nejméně 168 hodin", tak by to odpovídalo výše uvedené 
> hypotéze, že to na pondělí sklouzne v případě, že se to v neděli spustilo 
> dřív než předchozí neděli.

No ja bych weekly chapal podobne jako monthly , tedy v nejaky konkretni
den v tydnu. Tenhle komplikovany algoritmus ktery umoznuje nepravidelnou
rotaci je uchylny. Ale museli to zmenit protoze jeste v Centos6 se to
nedeje a rotuje ze vzdy v nedeli.

> Zdá se, že to už někdo opravoval:
> <https://github.com/logrotate/logrotate/commit/bd2638856dbbb6c0a47beb85fe8a8a628160772e>
> ale nějak se to už nedostalo do distribuce.

Hm, ty tydenni logy se nejak prezijou, ale ze blbnou i ty mesicni to je 
neprijemne. Pri tom na Centos4 se ty mesicni logy rotuji spravne 1.
bez ohledu na zmeny casu...


> -- 
> Pavel Kankovsky aka Peak                      "Que sçay-je?"


*------------------------------------------------------------------------*
|                          Petr Simek   APS JU                           |
|                             psimek na jcu.cz                              |
*------------------------------------------------------------------------*


Další informace o konferenci Linux