В вашей командной строке команда find
создаст серию отдельных команд rm
и выполнит их. Каждая команда rm
удалит один файл, указанный с полным путем. Таким образом, вам нужно ограничить не rm
, а find
.
Синтаксис для этого может быть немного сложным по историческим причинам. Вы можете сделать это так:
find /directory/backup ! -path /directory/backup -prune -mtime +1 -type f -name "FileName*.EXT" -exec rm {}\+
find $DIR ! -path $DIR -prune <desired_conditions> [desired_action]
— это совместимый с POSIX -способ ограничить find
одним каталогом. Но он по-прежнему будет перечислять имена подкаталогов -этого конкретного каталога, если вы не добавите дополнительные условия.
Использование -type f
ограничит find
попытки генерировать rm
команды для подкаталогов -в каталоге резервного копирования, которые просто создадут бесполезные сообщения об ошибках :для удаления каталога, вам потребуется рекурсивный rm
или rmdir
, и я понял, что в данном случае этого делать не стоит.
Замена точки с запятой в конце спецификации команды для -exec
знаком «плюс» улучшит производительность, если есть много файлов для удаления :вместо того, чтобы генерировать одну команду rm
для каждого файла, она будет генерировать как можно меньше команд, помещая в каждую команду rm
столько аргументов имени пути, сколько позволяет длина командной строки. Это резко снижает потребность в fork()
новых процессах.
--bip "192.168.1.1/24"
в конце строки ExecStart=/usr/bin/dockerd
. systemctl daemon-reload
systemctl start docker