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