Назад | Перейти на главную страницу

Автоматическое удаление файлов после того, как они находятся на сервере в течение 14 дней.

У нас есть FTP-сервер Linux, на который клиенты и менеджеры проектов загружают файлы для обмена файлами. К сожалению, никто никогда не заходит и ничего не удаляет, когда с этим покончено. Я ищу элегантный способ автоматического удаления файла через две недели.

Я думал о работе cron с этим синтаксисом, который я нашел в Интернете. Мой вопрос: какой день будет считаться днем ​​0? В день создания файла на локальном компьютере пользователя или в день его копирования в Linux?

find /path/to/directory/* -mtime +t -exec rm {} \;

Рассмотрите возможность использования параметра -atime вместо -mtime. Он найдет на основе последнего доступа к файлу.

В качестве вашего параметра для find является -mtime что переводится как "Данные файла последний раз были изменены n * 24 часа назад" согласно документация для find, это будет дата, когда файл был загружен (или изменен) на ваш FTP-сервер.

Чтобы определить подходящее значение для +t посмотрите следующий раздел о том, как найти время для сопоставления:

Когда find выясняет, сколько 24 часов назад к файлу последний раз обращались,
любая дробная часть игнорируется, поэтому для соответствия -atime +1 файл должен быть доступен как минимум два дня назад.

Также проверьте tmpwatch или жнец.

find будет использовать mtime в Linux. Надеюсь, это хост, на котором работает FTP-сервер.