logrotate - kopie rotovaneho logu na definovane misto

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Říjen 7 21:48:43 CEST 2006


On Wed, 4 Oct 2006, Zdenek Pizl wrote:

> 1. 'prerotate/endscript' mohu pouzit a vyvolat libovolny skript. Otazka 
> zni, jak skript bude vedet, s cim ma pracovat, jak mu je predano jmeno 
> rotovaneho souboru?

Skripty dostávají jméno rotovaného souborů jako parametr ($1). Ale mám
dojem, že v některých verzích v tom byly nějaké divné chyby (myslím, že
v kombinaci se sharedscripts), takže si to radši vyzkoušejte.

Jinak kopírování je asi lepší dát na konec postrotate, aby se kopíroval
soubor až poté, co je stávající soubor odrotován a démon nakopnut, aby
začal zapisovat do jiného souboru. Když kopírujete v prerotate, tak můžete
přijít o nějaké záznamy. V postrotate to stále není úplně bez chyby,
jelikož nakopnutí je obvykle asynchronní (pošle se signál a démon může
reagovat se zpožděním), ale šance na to, že se něco ztratí, je výrazně 
menší.

> 2. existuje direktiva 'copy', ale jeji popis je velmi povrchni. Neni 
> receno kam a jestli se s tim pak jeste neco deje ...

To je něco jiného. Normální rotace funguje tak, že se stávající soubor 
přejmenuje a na jeho původní jméno se umístí nový, do kterého se píšou 
nové záznamy.

Direktiva "copy" říká, že se má udělat kopie logu a originál nechat
v původním stavu. Její sestra je "copytruncate", která ponechává původní
soubor, ale zkracuje na nulovou délku (s rizikem, že se mezi kopírováním a
zkrácením něco ztratí; viz výše) -- tento přístup vyžadují např. s oblibou
implementace cronu na komerčních unixech, které nelze nijak rozumně
přesvědčit, aby démon začal zapisovat do jiného souboru s logu, než který
si otevřel při startu.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux