У меня есть процесс, в котором пользователи загружают определенные файлы в /home/ftp/file1.txt и /home/ftp/file2.txt в любое время дня. Я настраиваю incrontab следующим образом:
/home/ftp/file1.txt IN_CLOSE_WRITE myCustomCMD
/home/ftp/file2.txt IN_CLOSE_WRITE myCustomCMD
Я экспериментировал с различными событиями, чтобы добиться наилучшего результата. Я не хочу, чтобы пользователь открывал файл в vim только для того, чтобы прочитать и снова обработать файл.
Есть ли какие-либо предложения о том, как лучше всего просмотреть файл на предмет обновлений, а затем обработать файл? Я пробовал IN_MODIFY, но это не запускает мою команду каждый раз. У меня были IN_ALL_EVENTS, но это тоже не сработало.
PS: Я бы пометил это с помощью incrontab и incrond, но их еще нет. Мой статус нуба не позволяет мне создавать новые теги. :(
Если вы можете изменить используемый демон FTP, я всем сердцем рекомендую чистый ftpd.
Он напрямую поддерживает скрипт, вызываемый при загрузке (и никаких других событий); затем этот сценарий может выполнять любые действия, которые вы сочтете необходимыми, и запускается под пользователем, выполняющим загрузку.
Похоже, вы еще не начали incrond
служба. Вы смотрели на /var/log/cron
во время тестирования?