Programovani kolem syslogu

Pavel Kankovsky peak na kerberos.troja.mff.cuni.cz
Úterý Září 8 12:02:52 CEST 1998


On Tue, 8 Sep 1998, Petr Novotny wrote:

> 1. V man syslogd jsem se docetl, ze nektere veci jsou logovany s 
> fsync()em a nektere bez a ze o tom rozhoduje, zda je pred nazvem 
> souboru -. Jak to ovsem je se zapisem do pojmenovane roury - ten je 
> fsync()ovan, neni, anebo tam taky jde nekam napsat minus?

viz syslogd.c :)

> 2. Mam program, ktery cte data z pojmenovane roury od syslogu a neco 
> s nima dela, mimo jine je tez pise do "opravdoveho logu" v /var/log.
> a. Muzu si drzet tu vec v /var/log furt otevrenou nebo ji mam 
> otevirat a zavirat?

Otevirani a zavirani je celkem pomala zalezitost, takze je vhodnejsi to
drzet otevrene (az na situaci, kdy se log rotuje, nebo se provadi podobna
akce).

> b. Jak zajistim, aby se tam psalo bez fsync()? Kdyz pouzivam jen 
> open(), write() a close(), pouziva se nejaky sync? Zalezi to na 
> nejakem flagu?

Kdyz open nedostane zadny O_*SYNC, tak se fsyncuje pouze explicitne.

> c. Jak mam pak s tim vyslednym "opravdovym" logem zachazet pres 
> logrotate? Ma logrotate posilat nejaky signal memu programu? Jak ten 

Ano.

> by mel zareagovat?

Zavrit soubor a otevrit znova (za predpokladu, ze byl log rotovan, tak
uz ten novy).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"You can't be truly paranoid unless you're sure they have already got you."



Další informace o konferenci Linux