очистка папки /tmp

123 4
dkameleon
На сайте с 09.12.2005
Offline
386
10918

ребята, может ли кто-то посоветовать, как очистить папку размером в пол гига,

предположительно с файлами сессий внутри.

прогноз - несколько миллионов файлов.

пробовал rm -rf /tmp/*

но съедает тот несчастный гиг оперативы, большую часть свапа, тормозит систему безбожно,

результата не дожидаюсь и за час.

Дизайн интерьера (http://balabukha.com/)
SI
На сайте с 03.12.2007
Offline
130
#1

А целиком rm -rf /tmp и потом создать заново /tmp?

* - обрабатывается bash'ем и заменяется на полный список удаляемых файлов, перед вызовом rm.

-= Онлайн сервисы =-
S
На сайте с 01.04.2008
Offline
91
#2

Миллион файлов ты и за 3 часа не успеешь удалить. Можно запустить такое удаление:

find /tmp/ -type f -exec rm -f {} \;

будет долго конечно, но оперативку не должно забивать. Да и лучше папку переименовать в какой-нибудь /tmp2/ и спокойно удалять, хоть с пониженным приоритетом, а для работы тут же создать чистую /tmp

Править домен летит Айболит. И одно только слово твердит: - DNS! DNS! DNS!
dkameleon
На сайте с 09.12.2005
Offline
386
#3
Sigmo#ID:
А целиком rm -rf /tmp и потом создать заново /tmp?

пробовал, та же фигня.

sysctl:

будет долго конечно, но оперативку не должно забивать. Да и лучше папку переименовать в какой-нибудь /tmp2/ и спокойно удалять, хоть с пониженным приоритетом, а для работы тут же создать чистую /tmp

а это мысль! спасибо, так и попробую :)

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#4

dkameleon, насоветовали вам тут :)

Вернитесь к истокам, зачем вам изначально папка с миллионами файлов сессий? наверняка же у них время жизни минут 10 :) Настройте удаление таким образом, что бы оно происходило чаще и затрагивало меньше файлов одновременно (к примеру). Ведь можно удалять все сессии старше 10 минут хоть каждую минуту :D

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
I
На сайте с 23.12.2010
Offline
25
#5
Romka_Kharkov:
dkameleon, насоветовали вам тут :)

Вернитесь к истокам, зачем вам изначально папка с миллионами файлов сессий? наверняка же у них время жизни минут 10 :) Настройте удаление таким образом, что бы оно происходило чаще и затрагивало меньше файлов одновременно (к примеру). Ведь можно удалять все сессии старше 10 минут хоть каждую минуту :D

или раздел отдельный под tmp организовать и монтировать туда.

а потом грохать весь раздел сразу.

dkameleon
На сайте с 09.12.2005
Offline
386
#6
Romka_Kharkov:
Вернитесь к истокам, зачем вам изначально папка с миллионами файлов сессий? наверняка же у них время жизни минут 10

Вернемся ещё к боле ранним истокам:

чем обеспечивается время жизни в 10 минут? :)

И почему вдруг файлов аж пол гига?

Теперь это надо просто почистить.

А когда будет чисто, тогда и настраивать периодическое удаление.

Если его настроить сейчас, то см. выше:

dkameleon:
съедает тот несчастный гиг оперативы, большую часть свапа, тормозит систему безбожно,
результата не дожидаюсь и за час.
iopiop:
или раздел отдельный под tmp организовать и монтировать туда.
а потом грохать весь раздел сразу.

Здорово. Реально ли изменить для действующей системы без переразбивки/переустановки и заставить испменеджер все темпы юзеров туда писать?

izbushka
На сайте с 08.06.2007
Offline
110
#7
dkameleon:
Здорово. Реально ли изменить для действующий системы без переразбивки/переустановки и заставить испменеджер все темпы юзеров туда писать?

Если есть свободное место на винте, то реально. Или можно создать файловую систему в файле-контейнере и маунтить ее в /tmp.

Но это все какие-то непонятные методы. Куда будут писаться данные пока вы работаете таким образом с разделом? Удаляйте find'ом, он удалит нормально. Может и не очень быстро, но вы же не собираетесь это делать часто?

dkameleon
На сайте с 09.12.2005
Offline
386
#8

запускаю:

find bin-tmp1/ > found &

иду в top

и наблюдаю, как медленно поедается оперативка :)

пробую

sysctl:
find /tmp/ -type f -exec rm -f {} \;

та же фигня :)

проц оно особо не ест, диск ест.

тут подумалось.... 500 гиг - это похоже не размер файлов:

dkameleon@dk:~$ ls -l
total 600420
drwx------ 2 dkameleon dkameleon 131072 2011-10-19 11:59 bin-tmp
drwx------ 2 dkameleon dkameleon 614068224 2011-10-19 00:57 bin-tmp1
drwxr-x--x 2 dkameleon dkameleon 4096 2010-12-30 05:27 etc
drwxr-x--x 2 dkameleon dkameleon 4096 2011-10-19 00:01 logs
drwx--S--- 2 www-data dkameleon 4096 2010-12-30 09:07 mod-tmp
drwxr-x--x 2 dkameleon dkameleon 4096 2010-07-30 21:42 php-bin
lrwxrwxrwx 1 root root 17 2010-07-30 21:42 public_html -> www/dk.com
lrwxrwxrwx 1 root root 31 2010-07-30 21:42 tmp -> /var/www/dkameleon/data/bin-tmp
drwxr-x--x 9 dkameleon dkameleon 4096 2010-12-30 05:27 www
izbushka
На сайте с 08.06.2007
Offline
110
#9
dkameleon:
drwx------ 2 dkameleon dkameleon 614068224 2011-10-19 00:57 bin-tmp1

du -sh bin-tmp1

dkameleon
На сайте с 09.12.2005
Offline
386
#10
izbushka:
du -sh bin-tmp1

Запустил. Пару минут подождал, понаблюдал как кушает память, и выключил :)

А нет ли возможности просто грохнуть указатель на папку в ФАТе, чтоб оно в итоге "потеряло" всю иерархию вглубь? Без последствий для файловой системы.

png Clipboard02.png
123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий