Практическое задание

Эта задача — шаг 8 курса «Cron: задачи по расписанию»

Cron чистит недокачанные файлы

средне~7 мин

В /srv/ftp/incoming копятся брошенные недокачанные файлы *.part. Добавь в crontab root задачу, которая каждые 15 минут удаляет из этого каталога файлы *.part, изменённые больше 45 минут назад. Свежие .part (загрузка ещё идёт) и любые другие файлы трогать нельзя. Используй find.

Что потренируешь:
  • cron
  • */N
  • find -mmin
  • find -name
  • автоочистка

Разбор темы

Автоочистка — типичная работа для cron: раз в несколько минут запускается find, который отбирает мусор по условиям и удаляет его. Шаг */15 в поле минут даёт запуск в :00, :15, :30 и :45. Для порогов в минутах у find есть -mmin (знак + — «больше N минут назад»), а -mtime считает целыми сутками и для «45 минут» не годится. Условия find объединяются через И и проверяются слева направо, поэтому -delete ставят последним — иначе он сработает раньше фильтров. Фильтр по имени (-name '*.part') не даёт задеть соседние файлы.

Что проверяется

  1. задача запускается каждые 15 минут
  2. команда удаляет только старые .part

Как это выглядит