>Привет всем!
>
>Есть каталог в котором порядка миллиона))))) мелких файлов. rm -rf его удалит
>за сутки-двое. Можно ли сделать бастрее?
>Сразу уточню что он размещен не на отдельной файловой системе) Боюсь что без модификации ядра никак. Дело в том что системный вызов unlink может удалить лишь один файл за раз. То есть для каждого файла в этом каталоге приходится полностью перезаписывать каталог, а он не маленький. Чем меньше файлов будет оставаться в каталоге, тем быстрей будет идти процесс, то есть удаление половины файлов это не 50% от общего процесса, а где-то 80-90. Возможно может помочь изменение опций журналирования и кеширования для файловой системы.
perl -e 'foreach (1..800000){open FH,">asdf/$_";print FH "test",close FH;}' выполнилось у меня где-то минут за 10, а вот удаление примерно за полчаса. В любом случае это значительно меньше нескольких суток. Хотя если имена файлов у вас длинные да еще и по NFS, то тогда можно только посочувствовать