padajici Apache

Ondrej Sury sury.ondrej na globe.cz
Úterý Duben 29 11:43:12 CEST 2003


Matus "fantomas" Uhlar <uhlar na fantomas.sk> writes:

> Ondrej Sury <sury.ondrej na globe.cz> wrote:
> -> "Zdenek Mazanec" <zdenek.mazanec na contactel.cz> writes:
> -> 
> ->> Jsem naklonen resit to tak, ze dam restart apache tesne za rotaci logu s
> ->> tim, ze logrorate nebude httpd nijak postuchovat. Sice tim prijdu o par
> ->> zaznamu do logu, ale fungovat to bude asi lip.
> -> 
> -> Proc byste mel prichazet o zaznamy z logu?  Prvni log se IMO rotuje tak, ze
> -> se provede akorat rename("access.log", "access.log.0"), coz zachova
> -> stavajici descriptory otevrene do souboru pod novym jmenem.
>
> nezachova. vid nizsie
>
> ->  Na zbytek se
> -> aplikuje komprese = vznika novy soubor, ale u prvni rotace se pred
> -> restartem apache zapisuje i do jiz odrotovanych logu.
>
> pride o zaznamy logu kvoli tomu, ze ak proces otvori na zapis access, ten je
> premenovany na access.0, tak proces stale zapisuje do access.0. a ked ten
> zazipujete (gzip vytvory access.0.gz a access.0 zmaze) tak sa stale zapisuje
> do (uz zmazaneho) access.0, ktory vsak je pritomny len ako inode, nie ako
> polozka adresara, a az po jeho zavreti apachom je fyzicky zmazany aj inode.

Nectete poradne co pisu: "Prvni log se IMO rotuje tak, ze -> se provede
AKORAT rename("access.log", "access.log.0")", alespon slusne nastaveny
logrotate by to tak mel delat prave z duvodu, aby se neztracely zaznamy z
logu.

Tzn. postup pro rotovani logu, tak aby se neztracely zaznamy je takovy, ze

1. rename('access.log', 'access.log.0')
2. vytvorit access.log se spravnymi pravy
3. poslat signal procesu, aby se restartnul (tj. otevrel znovu logu)
4. dale pracovat uz jenom s odrotovanymi logy

- to znamena, ze je potreba nastavit logrotate tak, aby prvni odrotovany
  log nechal tak jak je a komprimoval az ty starsi.

man logrotate:
[...]
       delaycompress
              Postpone compression of the previous log file to the next rotation cycle.  This only has effect when used in  combination  with
              compress.  It can be used when some program cannot be told to close its logfile and thus might continue writing to the previous
              log file for some time.
[...]

O.

-- 
Ondrej Sury - co/CTO                Globe Internet s.r.o. http://globe.cz/
Tel: +420(2)35365000 Fax: +420(2)35365009     Planickova 1, 162 00 Praha 6


Další informace o konferenci Linux