![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Вставить ник | Быстрая цитата | Сообщение
#1
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 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 кучек ![]() Вот и пришлось написать кучную шлепалку. Пользуйте, если нужно будет... Код #!/usr/local/bin/bash for (( i=0; i<=4095; i++ )) do fpat=cgisess_*`printf "%03x" $i` rm -v $fpat done echo "Done" PS. Done пока не дождался, но оно работает - третьи сутки ![]() Сообщение отредактировано leah - 4.02.2010 - 19:08 |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#2
|
|
![]() Звезда форума ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1210 Регистрация: 29.09.2003 Пользователь №: 110 ![]() |
find отменили? :-)
|
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#3
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 967 Регистрация: 17.08.2004 Пользователь №: 4400 ![]() |
find отменили? :-) Его-то я самым первым и попробовал - результат был точно такой же как и у ls. Приводить в листинге не стал, так как результат ничем не отличался. Да, конец истории такой - провайдер сам удалил каталог, сказав, что удаление заняло около 2-х суток и это после того, как я поудалял какую-то часть.. |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#4
|
|
Новичок![]() Группа: Участник Сообщений: 1 Регистрация: 2.04.2012 Пользователь №: 35662 ![]() |
Его-то я самым первым и попробовал - результат был точно такой же как и у ls. Приводить в листинге не стал, так как результат ничем не отличался. Да, конец истории такой - провайдер сам удалил каталог, сказав, что удаление заняло около 2-х суток и это после того, как я поудалял какую-то часть.. Просто воспользуйтесь find. Кстати на rubuntu.com это обсуждали: ]]>как удалить большое кол-во файлов]]> |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#5
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 967 Регистрация: 17.08.2004 Пользователь №: 4400 ![]() |
Просто воспользуйтесь find. Кстати на rubuntu.com это обсуждали: ]]>как удалить большое кол-во файлов]]> Еще, раз... find был попробован в самую первую очередь! Не работал! Другими словами find <каталог> -exec rm -rf {} \; и прочие варианты с параметрами -name и/или -atime, -type и т.д., результата, кроме как "Cannot allocate memory" не выдавали! Сообщение отредактировано leah - 2.04.2012 - 16:25 |
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#6
|
|
![]() Звезда форума ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1620 Регистрация: 4.11.2006 Пользователь №: 16590 ![]() |
Спасибо за полезный скрипт. А что за хостинг, если не секрет? На сколько я знаю, многие хостинги ограничивают количество файлов у своих клиентов.
|
|
|
![]()
Вставить ник | Быстрая цитата | Сообщение
#7
|
|
![]() Постоялец форума ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 967 Регистрация: 17.08.2004 Пользователь №: 4400 ![]() |
Цитата(Jeepers Creepers @ 2.04.2012 - 21:59) 2349753[/url]'] Спасибо за полезный скрипт. А что за хостинг, если не секрет? На сколько я знаю, многие хостинги ограничивают количество файлов у своих клиентов. www.hc.ru , ничего не ограничивает, по файлам во всяком случае. Есть ограничения на поддоменах, но это у многих. Мне нравится. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.04.2025 - 19:29 |