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

Удалите все файлы, кроме

Я запускаю сценарий развертывания в своей текущей тестовой среде, но в других средах он работает слишком медленно. Ниже выполняется скрипт для удаления всех файлов и сохранения только тех, которые должны остаться:

# match all files except
find . -type f \
    ! -wholename './app/etc/local.xml' \
    ! -wholename './app/etc/jobs.xml' \
    ! -wholename './app/etc/monolog.xml' \
    ! -wholename './shell/amqp/ESBQueueReaderMonoService.exe.config' \
    ! -wholename './index.php' \
    ! -wholename './var/*' -a \
    ! -wholename './media/*' -a \
    ! -wholename './maintenance.flag' \
    -delete

# match all directories that are now empty ...
find  . -type d \
    ! -wholename './var' -a \
    ! -wholename './media' -a \
    -empty \
    -delete

Проблема здесь, возможно, в том, что мой ./media работает как общий ресурс NFS, и сценарий, конечно, также сканирует его.

Как я могу это улучшить и сделать так, чтобы он развернулся очень быстро. Или, может быть, даже используя locate например? Я знаю, что есть несколько более эффективных методов развертывания, но они запланированы только на второй квартал 2017 года, поэтому мне придется придерживаться его, запустив его через сам sh.

Спасибо

Попробуйте предоставить -xdev аргумент к find команда
find . -type f -xdev <other args>
Это сделает find искать только в текущей файловой системе, поэтому он не будет искать ваш NFS акции