Титла: Препълване на /var Публикувано от: cartman в Jul 01, 2006, 18:17 Здравейте,имам проблем с /var:постоянно се препълваше.Аз намалявах интервала за Cron,надявайки се,че е от това.Сега Cron работи дневно,натоварва ми процесора през час-два(докато почиства),но /var е пълен пак.Всички настройки на Cron са направени "по подразбиране",в това число и запазването на старите файлове.Да не би да трябва да ги направя да пази максимум едно старо копие,за да не се пълни така лошо?Или проблема е някъде другаде?И изобщо какво да направя в такъв случай?
Титла: Препълване на /var Публикувано от: redcure в Jul 02, 2006, 00:53 Здравей,
защо не го направиш на отделен дял и когато го закачаш във fstab-а да му зададеш опцийте nodev,nosuid. Просто идея ![]() Успех Титла: Препълване на /var Публикувано от: cartman в Jul 02, 2006, 01:03 Ами той изглежда е на отделен дял.Ето тук е картинка от diskdrake-a на Мандривата.А как да му задам
Титла: Препълване на /var Публикувано от: kalifi в Jul 02, 2006, 02:13 Здравей cartman,
в /var предполагам има и други папки. Виж коя точно се пълни. На мен често ми се случва да се събудя и резулатата от df да е приблизително този: Use% Mounted on 100% / Обикновено предната вечер съм инсталирал нещо, пишещо доста често log-ове в /var/log Защото ползвам gnome, Baobab ми се вписва добре, сканира сравнително бързо и виждам коя папка ми е "изяла" мястото. Приемам, че не знаеш какво пълни /var, дано съм те насочил. Поздрави Миро Титла: Препълване на /var Публикувано от: cartman в Jul 02, 2006, 03:37 Благодаря,kalifi.
Качих си КDirStat, което е еквивалент на Баобаб за КДЕ.Тук се вижда как изглежда моя /var. Аз форсирах log rotation-a на крон и изтрих всички стари логове,които завършваха на *.1.gz,*.2.gz и т.н.Само, че ситуацията не се подобри значително. Също така процесора ми се натоварва на 100 % от време на време, което преполагам е свързано с крон. Ако натисна почистване с KDirStat нищо не се получавa, a не знам доколко е безопасно да пипам сам.Най-много място е заето от urpmi,rpm и headers, но мисля,че не е хубаво да ги трия. Може ли някой да даде идея как безопасно да поразчистя там? Титла: Препълване на /var Публикувано от: ray в Jul 02, 2006, 08:38 Здравей,
1.Първо виж с "find" кои са най-големите файлове и от кои дати са (запиши списъка във файл). Примерно > 50МБ. 2.Сега се сетих - виж дали /tmp не е връзка към /var/tmp, ако ДА можеш спокойно да поразчистиш /var/tmp. Там (в /tmp) понякога се трупа доста боклук или пък остава такъв. 3.После може да повториш стъпка 1) и да сравниш стария и новия файл - да видиш кои неща са се променили (diff). Сигурно има и по-елегантен начин, но все още ми се спи ![]() За синтаксиса виж: man find Ето някакъв стар скрипт който имам (промени някои неща): #!/bin/bash # find /home/ -size +50000 -exec ls -lahg {} \; find /var -size +50000 -exec ls -lahg {} \; Успех.Румен Титла: Препълване на /var Публикувано от: never_mind в Jul 02, 2006, 10:47 3.5 Gb /var и се препълва.... тва няма да е от логове според мен...
Титла: Препълване на /var Публикувано от: kalifi в Jul 02, 2006, 11:25 never_mind,
ако не се лъжа бях инсталирал nagios или нещо друго за наблюдение, без да го настройвам. Явно си беше пуснало daemon-а и цяла нощ е логвало. За една нощ бяха отишли 2,5+ GB. То и от логовете да е, не самите те са проблема, а това което ги съзадава. Миро Титла: Препълване на /var Публикувано от: phantomlord в Jul 02, 2006, 15:08 Пробвай и Filelight. Чрез нея успях да открия веднъж един обемист и позабравен файл, който само ми изяде свободното място.
Титла: Препълване на /var Публикувано от: в Jul 02, 2006, 16:57 Незнам как е при теб, но при дебиана има една директория
/var/cache/apt/archives и там държи копия на deb пакетите, сваляни за да се инсталира нещо. Да не би да не си разчиствал ненужните такива файлове? Титла: Препълване на /var Публикувано от: cartman в Jul 02, 2006, 20:04 Здравейте всички и благодаря за отговорите!
@ray: 1.поразчистих /var/tmp.Там имаше само cache,с което се освободиха 5 МБ. 2.Ето какво стана с find:
3.Изтрих съдържанието на /var/spool/cups/tmp и в резултат изтисках още 100+ МБ. 4.Файла /var/log/bandwidth е към 3088М.Изглежда,че постоянно пише нещо в него и има данни от няколко месеца.Мога ли да изтрия този файл или неговото съдържание?Предпочитам да изтрия целия файл,защото ако тръгна да отварям 3Г ще стане мазало ![]() Ако успея да контролирам този файл,то ще успея да си оправя /var дяла. Някой може ли да помогне с идеи? Титла: Препълване на /var Публикувано от: ray в Jul 02, 2006, 20:50 Здравей,
За да видиш кой (процес/програма) пише в 'bandwidth' ползвай: lsof или fuser (виж man страниците им). Почти сигурно (99%) щом някакъв файл е в /var/log това е log-файл на някаква програма така че не виждам проблем да се изтрие. Лошото е че пак ще се пълни (ако не се спре/ограничи) Понякога (много рядко) големи логове могат да се дължат на включена 'debug' опция/режим. Тук едва ли е такъв случая ![]() Успех.Румен Титла: Препълване на /var Публикувано от: Hapkoc в Jul 02, 2006, 20:56 С командата du можеш лесно да разбереш кое колко място заема:
du -sh /var/* Ако проблема е с логовете, можеш да сложиш някакъв инструмент за ротиране на логове, като logrotate. Също, както те е посъветвал ray, с lsof можеш да провериш кой пише във въпросния файл: lsof /var/log/bandwidth Ако този, който пише, е syslogd - провери в /etc/syslog.conf кои категории и приоритети са настроени да отиват в този файл. Титла: Препълване на /var Публикувано от: cartman в Jul 02, 2006, 21:44 Да,оказва се,че syslogd пише в този файл.Ето така изглежда самия syslog.conf.
Изглежда,че моя случай е точно такъв.В този лог се записва какво става с кернела(според мен ![]() Току-що установих,че /var/log/bandwidth не е даден за rotation.Пуснах го и се получи bandwidth.1.gz, което аз изтрих.После форсирах cron да завърти останалите логове и в резултат имам 91 % свободни от /var вече ![]() Сега единственото, което ме притеснява е как да предотвратя това препълване в бъдеще?Всичките логове,вкл.bandwidth са настроени за daily rotation.Дали това е достатъчно? Титла: Препълване на /var Публикувано от: never_mind в Jul 02, 2006, 22:08 Явно се изказах неподготвен ( понеже моя /var е на 80Mb партишън и никога не се е напълвал повече от 20%.... ). Можеш да нагласиш лог-овете да се завъртат до определен брой пъти, и освен това да се компресира прехвърления лог за максимално пестене на място. След като достигне лимита си за превъртания, последният компресиран лог се изтрива автоматично и така...
|