У меня есть этот скрипт для удаления старых файлов резервных копий старше 15 дней

"find $path -type f -mmin +".(60 * 24 * $expire_days)." -name '*.tar.*' -delete"

После этого я хочу сохранить только 1 файл резервной копии в день через 10 дней. Как это сделать? Процесс резервного копирования выполняется несколько раз в день и создает 4-5 файлов в день

1 ответ1

0

Ну, вам придется написать еще один сценарий, который,

  1. Перечисляет все файлы, и для каждого файла собирает их путь последнего измененного времени (mtime).
  2. Из каждого mtime он извлекает часть даты и игнорирует часть времени.
  3. Затем он сканирует результирующий набор данных, чтобы определить группы записей с одинаковой датой; для каждой такой группы вы отмечаете все записи, кроме (любой).
  4. Пройдите по всем отмеченным записям и удалите соответствующие файлы.

Как видите, это (достаточно простая) задача программирования. Я бы, вероятно, выбрал Python или Tcl, так как простые сценарии оболочки, вероятно, его не обрезали.

  • Если у вас возникнут конкретные проблемы с изложенным мною планом, рассмотрите возможность размещения на SE.stackexchange.com.
  • Если у вас возникнут конкретные проблемы с конкретным алгоритмом при реализации решения об использовании определенного времени выполнения / языка, рассмотрите возможность публикации в SO.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .