Рейтинг:3

Автоматизируйте перемещение новых файлов через заданный период времени

флаг br

Я получаю файлы через службу с нечетными интервалами, и мне нужно, чтобы они были доступны в одной папке в течение 72 часов, прежде чем они будут заархивированы в другой папке. Я хотел бы автоматизировать этот процесс. В идеале это должен быть сервис, который наблюдает за «используемой» папкой на наличие новых файлов, отмечает время их поступления, а затем перемещает их в архив через 3 дня.

В настоящее время я запускаю запись crontab, которая запускается каждые 72 часа, чтобы переместить все содержимое используемой папки в папку архива. Это вызывает проблему синхронизации между окном доступности для данного файла и его перемещением, когда он больше не нужен.

user535733 avatar
флаг cn
Это выглядит подходящим для задания [Systemd path](https://www.freedesktop.org/software/systemd/man/systemd.path.html).
флаг br
Новые файлы поступают в папку A случайным образом из-за пределов сервера. Им нужно просидеть в папке А 72 часа, а затем перейти в папку Б, где они живут вечно.
Рейтинг:6
флаг in

Что-то вроде этого будет работать:

find /source/location -maxdepth 1 -mtime +3 -type f -exec mv "{}" /destination/location/ \;

Как это работает:

  • найти будет искать предметы в /источник/местоположение
  • -максимальная глубина 1 ограничит поиск только указанным каталогом, игнорируя подкаталоги
  • -мвремя +3 ограничит результаты до 3 дней или старше
  • -тип ф ограничит результаты только файлами
  • -exec выполнит команду по этим результатам, в данном случае это мв
  • "{}" где результат найти Пойду
  • \; рассказывает найти что команда прошла за исполнитель завершено

Добавьте это в свою работу cron и запустите ее ежечасно, если хотите. Будут перемещены только файлы старше 72 часов.

vanadium avatar
флаг cn
Красиво и просто! Здесь я узнал, что кавычки вокруг заполнителя на самом деле никогда не нужны — имена с пробелами также корректно обрабатываются без них.
флаг br
Ух ты!! Спросил и ответил. Спасибо огромное!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.