Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> как удалить большое количество файлов
leah
сообщение 4.02.2010 - 19:03

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Зарисовка из жизни.

На днях обратились ко мне помочь с зависанием хостинга.
Посмотрел, увидел каталог под завязку забитый файлами - размер деспкиптора каталога 164 мегабайта.

Зайти в каталог могу, а вот содержимое не показывается, выдает ошибку по памяти. Начинаю понимать, что в каталоге что-то лежит, мелкое и противное и очень, очень, очень много... Точнее определять не стал но около 2 500 000 (два с половиной миллиона!) файлов!

Начал разбираться:
Код
-bash-2.05b$ rm -rf session.orig # не помогает
rm: fts_read: Cannot allocate memory
-bash-2.05b$ cd session.orig
-bash-2.05b$ ls -1 # и здесь фигово
ls: fts_read: Cannot allocate memory
-bash-2.05b$ ls -1 *a # ха, так хоть по памяти не вышибает
-bash: /bin/ls: Argument list too long
-bash-2.05b$ ls -1 *aa # еще огорчен
-bash: /bin/ls: Argument list too long
-bash-2.05b$ ls -1 *aaa | wc -l # О, уже значительно лучше
     648
-bash-2.05b$

Ага, подумал я! файло есть, и его можно посмотреть кучками по три... А кучек сколько? Кучек оказалось много от 0x0 до 0xFFF - всего 4096 кучек sad.gif

Вот и пришлось написать кучную шлепалку. Пользуйте, если нужно будет...
Код
#!/usr/local/bin/bash

for (( i=0; i<=4095; i++ ))
do
        fpat=cgisess_*`printf "%03x" $i`
        rm -v $fpat
done
echo "Done"



PS. Done пока не дождался, но оно работает - третьи сутки sleep.gif

Сообщение отредактировано leah - 4.02.2010 - 19:08
Перейти в начало страницы
 
+Цитировать сообщение
GiN
сообщение 30.03.2010 - 12:07

Звезда форума
******
10 лет с форумом
Группа: Участник
Сообщений: 1210
Регистрация: 29.09.2003
Пользователь №: 110


find отменили? :-)
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 30.03.2010 - 17:37

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Цитата(GiN @ 30.03.2010 - 13:07) *
find отменили? :-)

Его-то я самым первым и попробовал - результат был точно такой же как и у ls. Приводить в листинге не стал, так как результат ничем не отличался.

Да, конец истории такой - провайдер сам удалил каталог, сказав, что удаление заняло около 2-х суток и это после того, как я поудалял какую-то часть..
Перейти в начало страницы
 
+Цитировать сообщение
sir_mcnellan
сообщение 2.04.2012 - 01:45
Новичок
*

Группа: Участник
Сообщений: 1
Регистрация: 2.04.2012
Пользователь №: 35662


Цитата(leah @ 30.03.2010 - 18:37) *
Его-то я самым первым и попробовал - результат был точно такой же как и у ls. Приводить в листинге не стал, так как результат ничем не отличался.

Да, конец истории такой - провайдер сам удалил каталог, сказав, что удаление заняло около 2-х суток и это после того, как я поудалял какую-то часть..



Просто воспользуйтесь find. Кстати на rubuntu.com это обсуждали: ]]>как удалить большое кол-во файлов]]>
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 2.04.2012 - 16:23

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Цитата(sir_mcnellan @ 2.04.2012 - 02:45) *
Просто воспользуйтесь find. Кстати на rubuntu.com это обсуждали: ]]>как удалить большое кол-во файлов]]>

Еще, раз... find был попробован в самую первую очередь! Не работал! Другими словами
find <каталог> -exec rm -rf {} \;
и прочие варианты с параметрами -name и/или -atime, -type и т.д., результата, кроме как "Cannot allocate memory" не выдавали!

Сообщение отредактировано leah - 2.04.2012 - 16:25
Перейти в начало страницы
 
+Цитировать сообщение
Jeepers Creepers
сообщение 2.04.2012 - 20:59

Звезда форума
******
отличительный знак ZELAN
Группа: Участник
Сообщений: 1620
Регистрация: 4.11.2006
Пользователь №: 16590


Спасибо за полезный скрипт. А что за хостинг, если не секрет? На сколько я знаю, многие хостинги ограничивают количество файлов у своих клиентов.
Перейти в начало страницы
 
+Цитировать сообщение
leah
сообщение 4.04.2012 - 00:01

Постоялец форума
*****

Группа: Модератор
Сообщений: 967
Регистрация: 17.08.2004
Пользователь №: 4400


Цитата(Jeepers Creepers @ 2.04.2012 - 21:59)
2349753[/url]']
Спасибо за полезный скрипт. А что за хостинг, если не секрет? На сколько я знаю, многие хостинги ограничивают количество файлов у своих клиентов.


www.hc.ru , ничего не ограничивает, по файлам во всяком случае. Есть ограничения на поддоменах, но это у многих. Мне нравится.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 20.04.2024 - 00:59