Я не мог заставить ответ от @timmmmmy работать, но он указал на меня на документация карты , и это работало на меня:
map $request_method $upstream_location {
PUT example.com:8081;
POST example.com:8081;
PATCH example.com:8081;
default example.com:8082;
}
server {
location / {
proxy_pass https://$upstream_location;
}
}
Самый простой:
найти. - пустое имя - тип f - исполнительная комната-f {} \;
"." запускается в текущем каталоге, замене путем к каталогу, если Вы хотите выполнить его в другом месте.
"-тип f" просто удостоверяется, что это - файл.
Краткое изложение:
Существует несколько опций:
find . -name empty -type f -exec rm -f {} \;
будет звонить rm
однажды для каждого файла
find . -name empty -type f -exec rm -f {} +
будет звонить rm
только так же часто по мере необходимости путем построения командной строки, которая использует максимальную возможную длину
find . -name empty -type f | xargs rm -f
то же как выше, Вы можете (или скорее будет, как выше - который был моим подходом), сталкивается с проблемами с именами файлов, которые содержат символы то заключение в кавычки потребности
find -name empty -type f -print0 | xargs -0 rm -f
вероятно, лучшее решение комментарий C Upvote Dan, это - его решение. Это будет как более ранний вызов отрывка rm
только так же часто как потребность путем построения командной строки, которая использует максимальную возможную длину, -0
переключитесь означает это аргументы rm
команда будет разделена \0
так, чтобы выход был сделан правильно в оболочке.
На стороне отмечают о комментарии для ограничения при помощи -type f
можно также ограничить с -size 0
(точно 0 байтов) я не могу проверить, придерживается ли CakePHP действительно той конвенции, но примерно каждого проекта, я знаю, что файлы заполнителя использования для проверки пустых каталогов в исходных репозиториях делают это.
Также, поскольку Matt Simons указывает на добавление a -v
флаг мог бы быть хорошей опцией видеть некоторый прогресс, однако заметьте, что это определенно замедлит целый процесс. Лучший подход мог бы быть должен следовать за процессом при помощи strace -p $pid_of_xargs
(добавьте addtional опции, если Вы хотите следовать за дочерними процессами, afaik, который возможен),
Другое примечание я просто нашел в странице справочника:
find -name empty -type f -delete
после того, как все найдут, имеет все это встроенное :)
Возможная причина, почему cakePHP мог бы сделать это, - то, потому что некоторые системы управления версиями (например, Подвижный и Мерзавец) не могут отследить пустые каталоги.
Это могло бы сделать:
rm -f $(find /var/www -name empty -print)
Найдите рекурсивно вызывает по умолчанию.
-name empty -type f -print0 | xargs -0 rm -f
– Dan Carley
10 June 2009 в 15:36