[LUGOS-PROG] praznjenje datoteke

Metod Kozelj metod.kozelj na lugos.si
Čet Jun 17 15:21:08 CEST 2004


Howdy!

Marko wrote:

>Zakaj mi se vedno pise velikost datoteke xxxx (toliko kot je bila pred
>"brisanjem z echo >logfile" + dodatni logi)? Ko izvedem ukaz, mi pade na
>0, ob prvem vpisu pa se prejsnja velikost spet pojavi. Kot da bil bil
>notri en tmp ostanek. (v bistvu je fajl poln @^@^@^@^@^@^@^@^....
>znakov). Prostor se mi je sprosil, samo napisana velikost fajla je pa se
>vedno nespremenjena.
>  
>

To pa zato, ker si se stvari lotil napacno. Log datoteko ima program, ki 
vanjo zapisuje (recimo syslog) stalno odprto. Zato niti ne opazi, da si 
ti iz shella naredil kaj cudnega na datoteki. Ker pa ima datoteko odprto 
in s pointerjem fiksirano pri koncu, je tudi OS oz. FS ne more skrajsati 
na 0.

V resnici se stvari resuje tako, da
- datoteko preimenujes (mv logfile logfile.1)
- opcijsko skreiras novo prazno datoteko, ce tega servise ne naredi 
avtomaticno (>logfile)
- servis restartas oz. mu posljes signal,  naj zapre in ponovno odpre 
log datoteko (ce servis to zna; recimo kill -HUP 23456; pri tem je 23456 
pid od procesa)

-- 
Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
---- echo 16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlb xq | dc




Dodatne informacije o seznamu lugos-prog