У нас есть 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 файл должен быть доступен как минимум два дня назад.
find будет использовать mtime в Linux. Надеюсь, это хост, на котором работает FTP-сервер.