1

У нас есть папка кеша, которая случайно стала достаточно большой, чтобы сломать сервер. У нас 8 ГБ ОЗУ на сервере, и когда я запускаю простую команду rm чтобы удалить все файлы в ней, она потребляет всю оперативную память и все равно не удаляет ее через 5 часов.

Итак, мы пытаемся использовать find но он не работает после 12 часов работы. Теперь за последние 24 часа выполняется оператор find with perl , и папка по-прежнему не удаляется, фактически ни один файл не удаляется.

Когда мы ls родительскую папку, она показывает размер папки около 1GB мне просто интересно , сколько миллионов файлов есть.

Итак, мой вопрос: есть ли способ удалить файлы, не перечисляя их, поэтому он просто удаляет папку или файлы внутри, не создавая список (иначе не вызывайте getdir() как системные вызовы)

Я действительно думаю о форматировании сервера, чтобы избавиться от него сейчас.

РЕДАКТИРОВАТЬ:

Я использовал find с -delete и с -exec rm -f {}

EDIT2:

Основываясь на этой статье, мы сейчас запускаем команду perl (ну, это около 24 часов, эта команда все еще выполняется), но ничего не было сделано в видимом нам размере папки.

2 ответа2

2

Одним из вариантов будет использование ключа -delete find . Я знаю, вы сказали, что уже использовали find , но не сказали, как именно вы ее использовали. Обычно это попытается перечислить каждый файл, но я полагаю, что с помощью следующей команды он должен удалять вещи по мере их нахождения:

find . -type f -print -delete (Вы можете удалить -print если вы не хотите вывод, и, конечно, cd в вашу папку или введите правильное имя папки)

Стоит попробовать хотя бы.

Edit-- вот предложение от другого вопроса по @ unix

mkdir empty_dir
rsync -a --delete empty_dir/    yourdirectory/
1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .