rm v linuxu ne sprosti diska?

DrM007

700. registrirani uporabnik
1. sep 2007
2.450
1
38
43
Krain
Torej... na SuSE strežniku laufa Pure-FTPd, ki mi v /var/log/ftp zapisuje aktivnosti na strežniku. V par letih delovanja se je nabralo brdo vrstic in je vse skupaj zasedalo že 78GB.

Ker loga ne potrebujem (toliko kot free space), sem ga pobrisal z rm /var/log/ftp
Rezultat je bil, da v mapi /var/log, datoteke ftp ni bilo več. Juhu!

No, ne čisto (glej hda3):
Koda:
krneki:/ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda2              21G  2.9G   18G  15% /
tmpfs                 506M  8.0K  506M   1% /dev/shm
/dev/hda3              91G   80G   12G  88% /home

Datoteka več kot očitno ni pobrisana!...
crazy1.gif

- kot prvo, nisem linux expert
- kot drugo, preguglal sem vse, kar se je preguglati dalo
po posvetu z guglom (rm ne pobriše datotek, ki jih uporablja nek proces, kar je za log datoteke skrajno logično) sem izvedel naslednje:
- resetiral sem /etc/init.d/pure-ftpd (ftp proces)
še vedno isto,
- reboot
še vedno isto.

Koda:
find / -size +1000000k -exec ls -lh {} \;
najde pač tistih par drugih datotek, večjih od 1GB, loga ni nikjer.

Ima še kdo kako idejo, kako bi pridobil "prosti" disk nazaj?
17758-icon_confused.gif
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
Si probal zagnati chkdsk oz. fsck? Za ogled odprtih datotek pa obstaja komanda "lsof" (pa verjetno boš moral biti root).
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Čak mal,/var/log/ftp je na /dev/hda2. Na /dev/hda3 imaš samo /home/
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Glede na to, da je bil log velik 78 GB, najbrz ni bil na hda2 (ki je velika samo 21 GB). Tisti /var/log/ftp je bil verjetno softlink in to je pac pobrisal, log je pa ostal.
 

erikson

Guru
25. avg 2007
22.745
6.514
113
Nekaj si pomešal. Log datoteka ni mogla biti na /var/log/ftp in velika 78GB, ker je disk na katerem imaš /var velik samo 21GB. To bi tudi pomenilo, da imaš pod /home največ 2 GB datotek (80-78).

Možnost bi sicer bila da je bil /var/log/ftp samo link na datoteko, ki se nahaja nekje pod /home.
 

DrM007

700. registrirani uporabnik
1. sep 2007
2.450
1
38
43
Krain
Ja, zdaj žal nimam več dostopa do strežnika... in tudi meni ni čisto nič več jasno...

bom jutri preveril, če je /var/log/ftp bil res samo link, ker če je bil čist ta prav fajl, potem je lahko bil le 7.8GB... ampak prisegel bi, da sem videl 78GB...
v tem primeru tudi ne vem kakšnih fajlov naj bi bilo na hda3 za 80GB...

nč, bom jutri bolj detajlno pogledal...

btw... sej, če bi bil 78gb velik log file nekje na /home/bla/bla/bla, bi ga ukaz

find / -size +1000000k -exec ls -lh {} \;

moral prikazati? Ali moram dejansko vtipkati:

find /home -size +1000000k -exec ls -lh {} \;


bemti, k se z linuxom ubadam samo takrat, ko gre na strežniku kaj narobe in potem seveda gledam kt tele ...
 

ferdo

Guru
3. sep 2007
10.688
3.941
113
Ljubljana
hmpg.net
Če se postaviš na /home in naredis tole:
du -k --max-depth=1 |sort -n | tail
dobis 10 najvecjih direktorijev.
Tako bos nasel poziralca prostora, tudi ce je v njem mnogo malih datotek:)
 

Utisevalec

Guru
12. nov 2007
16.167
4.150
113
Samo nasvet, loge se vedno briše po pravilih: stop servis + briši log + start servis! ČE si tega ne moreš privoščit (pač ugašat nekega pomembnega serverja ne gre kar tako) preveri ali ima sam servis mogoče ukaz za brisanje loga - večina resnih serverjev omogoča "purganje" loga med samim delovanjem.

Na koncu dvomim, da bi bil nek log velik 78GB, ker linux (večina servisov) uporablja "log rotaterje" ki ti loge gzipnejo pri nekih spodobnih velikostih in stvar vržejo v arhiv po potrebi pa še brišejo starejše arhive. Pa jasno 78GB razen če je veliko prometa je ogromen log (če gre za acces ali error) tako da je možno samo da bi bil raw "console dump" (se pravi zapis vsega kar servis daje na output).
 

reality

Vudu lešinar
24. jul 2007
4.731
0
36
Kot ti je že en dol napisal, ti si pobrisal link...

uporabi funkcijo locate blabla, da boš vidu kje log je...
 

DrM007

700. registrirani uporabnik
1. sep 2007
2.450
1
38
43
Krain
ksz... facepalm

Situacija rešena. Ferdov "du -k" ukaz je pokazal, kje se skriva požiralec prostora. Rekel bom samo to, da ima nekdo blazno srečo, da je trenutno na bolniškem...

/var/log/ftp je očitno res bil le 7,8GB, zgleda sem eno nulo viška videl. Disk pa je napolnila sodelavka, ki je vsakemu od partnerjev na ftp naložila po 10GB istih datotek. Par mesecev nazaj.

Ko mi je javilo da je disk full, sem šel gledat log in videl da je ogromen, ter ga zbrisal, nato pa začel travmirati v čisto napačno smer.

Hvala vsem za pomoč.

Glede velikosti loga pa niti ni tako zelo neverjetno - gre za access log, ki si zapiše prav vse aktivnosti, pri prenosih ima vsaka datoteka svojo vrstico z datumom, časom, uporabnikom, polno potjo, velikostjo datoteke, hitrostjo prenosa itd.
Velikokrat gre za prenos tudi do 100.000 majcenih datotek v eno in drugo smer. Trenutno je med 100 in 200 uporabnikov. V nekaj letih se tega kar precej nabere. Očitno pa ne za 78gb...
smile-1.gif
 

reality

Vudu lešinar
24. jul 2007
4.731
0
36
no sej se mi je čudno zdelo..........
to bi ti sicer tudi jest svetoval, sam ker sem bil prepričan iz tvojih postov, da je vzrok log, tega nisem predlagal, se mi je pa vseno čudno zdelo...

drgač pa command locate najde, če veš kaj iščeš..... du pa zlista pač size direktorijev..
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
Če so ti logi pomembni, potem jih vsake toliko časa zipaj (bzip2, najhujša kompresija) in prihranil boš kar nekaj prostora.
Če pa ti je dovolj da imaš loge le za zadnjih X dni/mesecev, pa si skonfiguriraj log rotation (da ti sam briše loge starejše od X časa).