Назад | Перейти на главную страницу

Как увеличить скорость удаления нескольких папок

У меня есть сценарий, содержащий около 420 тыс. Строк команды «rm -rf», подобную той, которая была сгенерирована с использованием оператора «find». Каждый pdfпапка содержит от 1 до 30 файлов (без вложенных папок).

rm -rf /2012/128/211503/pdf
rm -rf /2012/128/212897/pdf
rm -rf /2012/128/211989/pdf
rm -rf /2012/128/211691/pdf
rm -rf /2012/128/212539/pdf
rm -rf /2012/218/358976/pdf
rm -rf /2012/218/358275/pdf
rm -rf /2012/218/358699/pdf

Ищу как увеличить скорость удаления скрипта.

В настоящее время, vmstat сообщать только о времени ожидания (IO).

Платформа - это RHEL 5, удаляющий файлы на диске RAID5 / 6 с использованием ext3 и LVM.

Я думал о разделении файла сценария на файлы меньшего размера (например, 10 файлов), чтобы запускать несколько сценариев параллельно, но здесь я замечаю ограничение скорости оборудования.

Было бы это хорошей идеей, если бы обязательство по удалению для журнализации потребовало времени, и может ли оно быть частью такой функции, как NCQ?

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

Удалить файлы; истина, если удаление прошло успешно. Если удаление не удалось, выдается сообщение об ошибке. Если -delete завершается неудачно, статус выхода find будет отличным от нуля (когда он в конечном итоге завершится). Использование -delete автоматически включает параметр -depth

Вы могли бы использовать Трещина чтобы разбить файл на куски. Вы можете получить пробег из GNU Parallel слишком.