Мне нужен сценарий, который может проверять файлы, когда они загружаются / создаются на сервере.
Я написал сценарий, который проверяет, но я хотел бы, чтобы он запускался при возникновении события создания бывает. Я пробовал это с iwatch, затем с inotify, но у меня возникла проблема: если одновременно копируется больше файлов, inotify / iwatch запускается только один или два раза, но не столько раз, сколько создается файлов.
а:; выполните inotifywait --format '% f:% e' -e create / path / to / watch; done
И на другом терминале, но на том же сервере, конечно, я вхожу в каталог с большим количеством файлов, и inotify только несколько раз уведомляет меня на другом терминале, но не всегда, как должно.
Может кто-нибудь мне подскажет, что может вызвать такое?
Заранее спасибо.
Мне удалось выяснить, в чем проблема. Inotify / Iwatch мог видеть и передавать моему сценарию эти файлы, соответствующие заданным событиям, но когда сценарий начинал их обрабатывать, Inotify не сохранял файлы до завершения сценария, а передавал их через них.
Итак, я сделал примитивный кеш. Сначала мой сценарий записывает файлы в текстовый файл в виде списка, а тем временем передает этот текстовый файл другому процессу (модулю моего сценария) для их обработки. И делает это с помощью '&', чтобы основной сценарий не ждал, пока модуль пройдёт по списку.