Старый скрипт удаления файла

Я использовал этот скрипт:

#!/bin/sh for file in "$( find /var/backup/web2 -type f -mtime +1 -maxdepth 1 -exec rm -f {} \; )" do rm -f $file done exit 0 

для удаления файлов старше 24 часов из фиксированного каталога. Сценарий перестает работать, давая ошибку:

find: warning: вы указали параметр -maxdepth после аргумента аргумента non-option, но параметры не являются позиционными (-maxdepth влияет на тесты, указанные перед ним, а также те, которые указаны после него). Пожалуйста, укажите параметры перед другими аргументами.

После того, как я исправил команду в соответствии с заданными спецификациями, сценарий больше не производит никаких ошибок, но ни один из них не работает (старые файлы все еще существуют). Любые идеи, из-за которых рабочий сценарий терпит неудачу и как его исправить?

One Solution collect form web for “Старый скрипт удаления файла”

Не уверен в цели цикла в вашем скрипте, который не нужен и не служит никакой цели. Следующее будет работать так, как вы ожидали.

 find /var/backup/web2 -maxdepth 1 -type f -mtime +1 -delete 
  • Собирать файлы, используя find
  • Запустить скрипт на хосте при запуске виртуальной машины с помощью virt-manager
  • Создание сценария оболочки, который анализирует и перенаправляет число в следующую команду?
  • Как управлять назначением аргументов
  • требуемый результат не достигается с помощью сценария bash
  • задать переменные параметры с помощью точки
  • найти совпадающие URL-адреса в строке, а затем сократить их до имени домена
  • Извлечь двоичные файлы из pcap с помощью командной строки (скрипта)
  • Почему сочетание «меньше» и «скрипт» прерывает окончания строк?
  • Условное выполнение - запуск постоянных подпроцессов и коротинов
  • Почему я не могу выполнить этот скрипт?
  • Разделить строку на слова с максимальным размером 8 символов
  • Linux и Unix - лучшая ОС в мире.