Автор Тема: Препълване на /var  (Прочетена 3026 пъти)

cartman

  • Напреднали
  • *****
  • Публикации: 288
    • Профил
Препълване на /var
« -: Jul 01, 2006, 18:17 »
Здравейте,имам проблем с /var:постоянно се препълваше.Аз намалявах интервала за Cron,надявайки се,че е от това.Сега Cron работи дневно,натоварва ми процесора през час-два(докато почиства),но /var е пълен пак.Всички настройки на Cron са направени "по подразбиране",в това число и запазването на старите файлове.Да не би да трябва да ги направя да пази максимум едно старо копие,за да не се пълни така лошо?Или проблема е някъде другаде?И изобщо какво да направя в такъв случай?
Активен

old:Mandriva 2007.0, kernel 2.6.17-5mdv, Qt: 3.3.6,KDE: 3.5.4
current:Mandriva 2008.0,kernel 2.6.22.9-desktop-1mdv, Qt:3.3.8,KDE:3.5.7, gcc: 4.2.2

redcure

  • Напреднали
  • *****
  • Публикации: 914
    • Профил
Препълване на /var
« Отговор #1 -: Jul 02, 2006, 00:53 »
Здравей,

защо не го направиш на отделен дял и когато го закачаш във fstab-а да му зададеш опцийте nodev,nosuid. Просто идея '<img'>

Успех
Активен

Debian testing 2.6.18, Enlightenment DR17

http://www.debian.org/doc/manuals/apt-howto/index.en.html

cartman

  • Напреднали
  • *****
  • Публикации: 288
    • Профил
Препълване на /var
« Отговор #2 -: Jul 02, 2006, 01:03 »
Ами той изглежда е на отделен дял.Ето тук е картинка от diskdrake-a на Мандривата.А как да му задам
Цитат
опцийте nodev,nosuid
?
Активен

old:Mandriva 2007.0, kernel 2.6.17-5mdv, Qt: 3.3.6,KDE: 3.5.4
current:Mandriva 2008.0,kernel 2.6.22.9-desktop-1mdv, Qt:3.3.8,KDE:3.5.7, gcc: 4.2.2

kalifi

  • Напреднали
  • *****
  • Публикации: 59
    • Профил
    • WWW
Препълване на /var
« Отговор #3 -: Jul 02, 2006, 02:13 »
Здравей cartman,

в /var предполагам има и други папки. Виж коя точно се пълни.

На мен често ми се случва да се събудя и резулатата от df да е приблизително този:
Use% Mounted on
100% /

Обикновено предната вечер съм инсталирал нещо, пишещо доста често log-ове в /var/log

Защото ползвам gnome, Baobab ми се вписва добре, сканира сравнително бързо и виждам коя папка ми е "изяла" мястото.

Приемам, че не знаеш какво пълни /var, дано съм те насочил.

Поздрави
Миро



Активен

Мирослав Базитов
http://miro.kalifish.com/

cartman

  • Напреднали
  • *****
  • Публикации: 288
    • Профил
Препълване на /var
« Отговор #4 -: Jul 02, 2006, 03:37 »
Благодаря,kalifi.
Качих си КDirStat, което е еквивалент на Баобаб за КДЕ.Тук се вижда как изглежда моя /var. Аз форсирах log rotation-a на крон и изтрих всички стари логове,които завършваха на *.1.gz,*.2.gz и т.н.Само, че ситуацията не се подобри значително. Също така процесора ми се натоварва на 100 % от време на време, което преполагам е свързано с крон. Ако натисна почистване с KDirStat нищо не се получавa, a не знам доколко е безопасно да пипам сам.Най-много място е заето от urpmi,rpm и headers, но мисля,че не е хубаво да ги трия.
Може ли някой да даде идея как безопасно да поразчистя там?
Активен

old:Mandriva 2007.0, kernel 2.6.17-5mdv, Qt: 3.3.6,KDE: 3.5.4
current:Mandriva 2008.0,kernel 2.6.22.9-desktop-1mdv, Qt:3.3.8,KDE:3.5.7, gcc: 4.2.2

ray

  • Напреднали
  • *****
  • Публикации: 1464
    • Профил
Препълване на /var
« Отговор #5 -: Jul 02, 2006, 08:38 »
Здравей,
1.Първо виж с "find" кои са най-големите файлове и от кои дати са (запиши списъка във файл). Примерно > 50МБ.
2.Сега се сетих - виж дали /tmp не е връзка към /var/tmp, ако ДА можеш спокойно да поразчистиш /var/tmp. Там (в /tmp) понякога се трупа доста боклук или пък остава такъв.
3.После може да повториш стъпка 1) и да сравниш стария и новия файл - да видиш кои неща са се променили (diff).
Сигурно има и по-елегантен начин, но все още ми се спи '<img'>
За синтаксиса виж: man find
Ето някакъв стар скрипт който имам (промени някои неща):
#!/bin/bash
# find /home/ -size +50000  -exec ls -lahg {} \;
find /var -size +50000  -exec ls -lahg {} \;
Успех.Румен
Активен

never_mind

  • Напреднали
  • *****
  • Публикации: 215
  • Distribution: Debian/Testing
  • Window Manager: Xfce4
    • Профил
Препълване на /var
« Отговор #6 -: Jul 02, 2006, 10:47 »
3.5 Gb /var и се препълва.... тва няма да е от логове според мен...
Активен

kalifi

  • Напреднали
  • *****
  • Публикации: 59
    • Профил
    • WWW
Препълване на /var
« Отговор #7 -: Jul 02, 2006, 11:25 »
never_mind,

ако не се лъжа бях инсталирал nagios или нещо друго за наблюдение, без да го настройвам. Явно си беше пуснало daemon-а и цяла нощ е логвало. За една нощ бяха отишли 2,5+ GB.

То и от логовете да е, не самите те са проблема, а това което ги съзадава.

Миро
Активен

Мирослав Базитов
http://miro.kalifish.com/

phantomlord

  • Напреднали
  • *****
  • Публикации: 1832
  • Distribution: Debian Sid
  • Window Manager: KDE 4
  • Fall to your knees and bow to the Phantom Lord
    • Профил
    • WWW
Препълване на /var
« Отговор #8 -: Jul 02, 2006, 15:08 »
Пробвай и Filelight. Чрез нея успях да открия веднъж един обемист и позабравен файл, който само ми изяде свободното място.



Активен

http://myfreesoft.net/phpBB2/index.php?c=7
Помогни си сам, за да ти помогне и Господ
Linux - connecting people...

  • Гост
Препълване на /var
« Отговор #9 -: Jul 02, 2006, 16:57 »
Незнам как е при теб, но при дебиана има една директория

/var/cache/apt/archives
 
и там държи копия на deb пакетите, сваляни за да се инсталира нещо. Да не би да не си разчиствал ненужните такива файлове?
Активен

cartman

  • Напреднали
  • *****
  • Публикации: 288
    • Профил
Препълване на /var
« Отговор #10 -: Jul 02, 2006, 20:04 »
Здравейте всички и благодаря за отговорите!

@ray:
1.поразчистих /var/tmp.Там имаше само cache,с което се освободиха 5 МБ.
2.Ето какво стана с find:
Цитат
root@cartman sisiswit]# find /var/ -size +50000
/var/lib/rpm/Packages
/var/lib/urpmi/hdlist.main.cz
/var/lib/urpmi/hdlist.contrib.cz
/var/log/bandwidth
/var/spool/cups/tmp/3-zusammen-cupsjob7698
[root@cartman sisiswit]#

3.Изтрих съдържанието на /var/spool/cups/tmp и в резултат изтисках още 100+ МБ.
4.Файла /var/log/bandwidth е към 3088М.Изглежда,че постоянно пише нещо в него и има данни от няколко месеца.Мога ли да изтрия този файл или неговото съдържание?Предпочитам да изтрия целия файл,защото ако тръгна да отварям 3Г ще стане мазало ':p'

Ако успея да контролирам този файл,то ще успея да си оправя /var дяла.

Някой може ли да помогне с идеи?
Активен

old:Mandriva 2007.0, kernel 2.6.17-5mdv, Qt: 3.3.6,KDE: 3.5.4
current:Mandriva 2008.0,kernel 2.6.22.9-desktop-1mdv, Qt:3.3.8,KDE:3.5.7, gcc: 4.2.2

ray

  • Напреднали
  • *****
  • Публикации: 1464
    • Профил
Препълване на /var
« Отговор #11 -: Jul 02, 2006, 20:50 »
Здравей,
За да видиш кой (процес/програма) пише в 'bandwidth' ползвай: lsof или fuser (виж man страниците им).
Почти сигурно (99%) щом някакъв файл е в /var/log това е log-файл на някаква програма така че не виждам проблем да се изтрие. Лошото е че пак ще се пълни (ако не се спре/ограничи)
Понякога (много рядко) големи логове могат да се дължат на включена 'debug' опция/режим. Тук едва ли е такъв случая '<img'>
Успех.Румен
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Препълване на /var
« Отговор #12 -: Jul 02, 2006, 20:56 »
С командата du можеш лесно да разбереш кое колко място заема:

du -sh /var/*

Ако проблема е с логовете, можеш да сложиш някакъв инструмент за ротиране на логове, като logrotate. Също, както те е посъветвал ray, с lsof можеш да провериш кой пише във въпросния файл:

lsof /var/log/bandwidth

Ако този, който пише, е syslogd - провери в /etc/syslog.conf кои категории и приоритети са настроени да отиват в този файл.
Активен

cartman

  • Напреднали
  • *****
  • Публикации: 288
    • Профил
Препълване на /var
« Отговор #13 -: Jul 02, 2006, 21:44 »
Да,оказва се,че  syslogd пише в този файл.Ето така изглежда самия syslog.conf.
Цитат
Понякога (много рядко) големи логове могат да се дължат на включена 'debug' опция/режим
.
Изглежда,че моя случай е точно такъв.В този лог се записва какво става с кернела(според мен '<img'> ).И мога ли да махна тази debug опция и какво би станало ако я махна?И какво евентуално да направя за да не се получава това в бъдеще?

Току-що установих,че /var/log/bandwidth не е даден за rotation.Пуснах го и се получи bandwidth.1.gz, което аз изтрих.После форсирах cron да завърти останалите логове и в резултат имам 91 % свободни от /var вече '<img'>

Сега единственото, което ме притеснява е как да предотвратя това препълване в бъдеще?Всичките логове,вкл.bandwidth са настроени за daily rotation.Дали това е достатъчно?
Активен

old:Mandriva 2007.0, kernel 2.6.17-5mdv, Qt: 3.3.6,KDE: 3.5.4
current:Mandriva 2008.0,kernel 2.6.22.9-desktop-1mdv, Qt:3.3.8,KDE:3.5.7, gcc: 4.2.2

never_mind

  • Напреднали
  • *****
  • Публикации: 215
  • Distribution: Debian/Testing
  • Window Manager: Xfce4
    • Профил
Препълване на /var
« Отговор #14 -: Jul 02, 2006, 22:08 »
Явно се изказах неподготвен ( понеже моя /var е на 80Mb партишън и никога не се е напълвал повече от 20%.... ). Можеш да нагласиш лог-овете да се завъртат до определен брой пъти, и освен това да се компресира прехвърления лог за максимално пестене на място. След като достигне лимита си за превъртания, последният компресиран лог се изтрива автоматично и така...
Активен