Re: Problém se squidem v Linux RH 7.1

Milan Kerslager milan.kerslager na pslib.cz
Čtvrtek Srpen 29 18:53:01 CEST 2002


On Fri, 23 Aug 2002, Radek Vybiral wrote:

> > máme mail server na Linuxu RedHat 7.1 jádro 2.4.3-12.
> > Je tam zapnutej squid (proxy), který zapisuje přístupy do
> > souboru access.log. Dneska jsem ten soubor smazal, protože
> > byl už moc velkej, ale novej se sám nevytvořil. Squid se nějak
> > zaseknul, protože když to zrestartuju, tak při ukončování vypíše
> > stopping squid FAILED. Ovšem při bootování píše vše OK.
> > Přístup na internet přes proxy tudíž nefunguje.
> > 
> > Nevíte co s tím??
> 
> Mazat log soubory když program běží není vůbec chytré.
> 
> Je to dáno tím, že ten soubor je otevřen a když ho smažete, program se o
> tom nemá jak dozvědět a proto právem odmítá správně fungovat.

V Unixu by to nemelo vadit. Smazeme-li soubor, ktery je jinym procesem 
otevren, je smazan jen zaznam v adresari a data (tj. vcetne i-node) 
zustanou zachovana (stejne tak deskriptor, ktery ma bezici program 
otevren). Tj. po smazani jiz nelze soubor otevrit, nicmene ten bezici 
program s nim muze stale pracovat. Data budou z disku uvolnena, az bezici 
program zavre pouzivany deskriptor(y).
 
> Správný postup "smazání" velkého souboru je:
> cat /dev/null > soubor.log
> 
> Tím se nic běžícímu programu nestane a vše vesele pokračuje dále.

Takto by mohla v souboru vzniknout dira. Lepsi je log prejmenovat/smazat a
pak prinutit program, aby zavrel a znovu otevrel logy.

Tento postup pouziva program logrotate, ktery by se mel o rotovani logu 
starat sam (a nemela by tedy nastat situace, ze log je prilis "velky").

-- 
                        Milan Keršláger
                        E-mail: milan.kerslager na pslib.cz
                        WWW:    http://www.pslib.cz/~kerslage/



Další informace o konferenci Redhat-cz