shell find -delete "каталог не пуст"

Я пытаюсь удалить backupfiles в моей синологии nas старше 30 дней, файлы находятся в каталоге, который создается durig, загружает резервный файл с моего веб-сервера после загрузки, я хочу проверить -mtime, а затем удалить старые файлы

здесь идет скрипт

#!/bin/sh ## Datum auslesen datum=`date +%Y-%m-%d_%H-%M` ## Mit wget die Datei AutoBackupDB-1.zip laden und in einem Ordner mit Datum uns Uhrzeit speichern wget -m -P /volume1/Austauschordner/backup_xyz/$datum/ ftp://backup:backup@domain.tdl/AutoBackupDB-1.zip echo "Backup von xyz wurde erstellt! " ## finde alle Ordner in einem angegebenen Verzeichnis mit dem Suchnamen die älter als die angegebenen Tage sind und lösche diese find /volume1/Austauschordner/ -type d -name 'backup_*' -ctime +30 -delete 

если я запустил этот скрипт, я скажу, что «каталог не пуст», и ничего не будет удалено

есть ли простой способ или возможность удалить все в каталоге?

thx для справки

One Solution collect form web for “shell find -delete "каталог не пуст"”

Как упоминает @Stephen Kitt, это в значительной степени дубликат find -delete не удаляет непустые каталоги, в которых говорится, что вы говорите ему об удалении каталогов, но каталоги не пусты (так же, как работает rm some_nonempty_directory не работайте без флага -r как минимум).

При этом, если вы замените -delete на -exec rm -rv {} + или -exec rm -rv {} \; то ваш скрипт должен удалить рекурсивно каталог без ошибок (удалите флаг v если после тестирования вы не будете получать подробный вывод).

Примечание: + в конце приведет к rm -rv file1 file2 ... while action of \; будет rm -rv file1; rm -rv file2; ... rm -rv file1; rm -rv file2; ...

  • find (1): как применяется групповой символ звезды для отказа от некоторых имен файлов?
  • Запустите команду SSH на двух хостах, чье имя происходит из другой команды
  • Проблема автоматического расширения с элементами массива, содержащими «*» (звездочку)
  • "Или" в оболочке glob
  • Сценарий bash / zsh не вызывается из терминала в FreeBsd, ни в bash, ни в zsh
  • Как программы с программным обеспечением с оболочкой уравновешивают скорость вывода / ввода?
  • Проверьте связанные имена файлов и удалите один из них
  • команда ssh и неинтерактивная оболочка без входа
  • Найдите полный путь и имя файла под каталогом, затем перейдите в исполняемый файл в качестве аргументов
  • Удалите много файлов из папки
  • Используйте функцию автозаполнения терминала для ввода сценария оболочки
  • Linux и Unix - лучшая ОС в мире.