У меня есть задание cron, которое обрабатывает файлы, которые мой клиент загружает через FTP на мой сервер FreeBSD. Задание cron выполняется один раз в час, и обычно обработка каждого файла занимает всего несколько секунд.
Задание cron просматривает каталог загрузки клиента и перемещает все новые файлы в каталог tmp. Затем он обрабатывает файл (ы) и перемещает их в окончательный каталог, где они затем становятся доступными для общественности через веб-сайт.
Проблема в том, что время от времени задание cron запускается так же, как при загрузке нового файла. Он перемещает наполовину загруженный файл в каталог tmp, пытается его обработать и, конечно же, дает сбой.
Вопрос: как определить, завершен ли загруженный файл? Единственное, о чем я могу подумать, это проверить размер файла, чтобы увидеть, меняется ли он, но это похоже на пометку. Есть ли какой-нибудь флаг или что-то, что устанавливается после завершения загрузки?