Могу ли я отключить perl со списком из команды поиска unix?

Попытка удалить тысячи файлов на нескольких серверах.
rm не будет работать.
Написал общий скрипт для запуска из cron для удаления на регулярной основе:

 ... /bin/perl -e 'unlink ( <`find ${DIRECTORY} -name "*.${FILETYPE}" -type f -mtime +${DELETE_OLDER_THAN}`> ) or die "Nothing deleted\n" ' >> ${REMOVAL_LOGFILE} 2>&1 ... 

Я хочу быть очень конкретным в отношении того, что я удаляю.
Я использую perl, потому что он выглядит быстрее, чем -exec rm {} : /
Является ли find разрешенным в этом контексте?

One Solution collect form web for “Могу ли я отключить perl со списком из команды поиска unix?”

Если ваша find поддерживает действие -delete вы найдете это примерно так же быстро, как можете, не создавая несколько процессов удаления:

 find "$DIRECTORY" -name "*.$FILETYPE" -type f -mtime +"$DELETE_OLDER_THAN" \ -delete -print >> "$REMOVAL_LOGFILE" 2>&1 

Вы найдете, что -exec rm {} \; медленно, потому что он создает новый процесс для каждой операции удаления. Если ваша find имеет его, -exec rm {} + будет быстрее, потому что это создаст один rm процесс для значительного количества файлов. Но самый быстрый из всех однопоточных решений был бы -delete .

С некоторой степенью сложности вы можете развить одну find .. -delete процесс для каталога, в дереве каталогов и иметь (по крайней мере некоторые) те, которые работают параллельно. Но я не знаю, сколько каталогов вы обрабатываете, поэтому я не могу определить, будет ли это чистая прибыль.

  • команды оболочки для проверки и создания директории
  • Как восстановить файлы, которые я удалил сейчас, запустив rm *?
  • Безопасное удаление каталога
  • Вчера я совершил ошибку, которая случайно удалила 1800 ГБ моего Файлового сервера
  • Удаление файлов-призраков с символами, отличными от ASCII
  • удалить вложенные папки и файлы, не удаляя родительскую папку и дочернюю папку?
  • Почему rmdir и unlink два отдельных системных вызова?
  • Может ли rm рекурсивно удалять пустые каталоги?
  • Где файлы идут, когда выдается команда rm?
  • Эффект убийства длинной команды rm
  • Предотвращает ли Ctrl-C (SIGINT) вывод данных, даже если были процессы, которые пытались его выводить
  • Interesting Posts

    Как передать аргумент из сценария bash в 'x-terminal-emulator -e bash -c'?

    Как рассчитать, взяв первое поле

    Услышать жесткий диск, когда ничего не предполагается использовать

    Командная подсистема Bash с переменной окружением

    Как я могу создать логин SSH, который делегирует telnet надежно

    Запуск приложений X11 на экране с ограниченной глубиной бит

    yaourt -Syu не работает в arch linux

    Почему терминал отправляет CR, даже если установлен ICRNL?

    Как создать локального пользователя в Linux-системах с поддержкой LDAP

    Где найти серверы имен, полученные от DHCP (через NetworkManager)?

    Перемещенная папка CGI-Bin по ошибке, теперь сайт не будет работать

    Как я могу отображать восьмеричные обозначения разрешений с помощью ls – и может ли восьмеричное представлять все разрешения?

    Сценарий оболочки, чтобы найти, какой пакет предоставляет файл на OpenBSD

    Что это за ошибка GhostScript? «/ Undefined in / BXlevel»

    Получение вывода egrep -o в одной строке

    Linux и Unix - лучшая ОС в мире.