LINUX.ORG.RU
ФорумAdmin

Удалить файл через 24 часа от его создания.


0

0

Собственно и все что требуется:
Заливаются файлы по FTP, надо удалить файлы через 24 часа после их заливки на FTP.

По идее должно быть что-то типа этого:
По крону:
cd /path/to/ftp/dir; find -ctime +1 | xargs rm
Но только ctime - это время изменения (File's status was last changed n*24 hours ago.), а есть mtime (File's data was last modified n*24 hours ago.) - в чем разница?
И как тогда проверить на дату создания?


Обегаешь раз в час `find -type f`-ом дерево, сохраняешь листинг. Сравниваешь diff'ом с листингом за прошлый момент, если появилось что-то новое - выдергиваешь из диффа и постишь в кронтаб на удаление через 24 часа от текущей даты вклчюая зачистку кронтаба от лишних фекалий. Остальные примочки - излишни, если нужна точность - бегай раз в 15 минут, за секундами гнаться не стоит.

e
()

>Заливаются файлы по FTP, надо удалить файлы через 24 часа после их заливки на FTP.

Смотри лог фтп-сервера, там есть время заливки файла - от него и пляши

sdio ★★★★★
()
Ответ на: комментарий от e

Мда не знал что будет все так запущено.
Реализовал так:
ProFTPd + mod_exec + mod_vroot

по команде STOR и APPE запускаю внешний скрипт, который создает список файлов и дату заливки.

Другой скрипт запускается по крону каждый час и проходится по этому списку, нужное удаляет и из списка тоже.

Может слегка накручено но интересно было поработать с mod_exec.

nevsky
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.