3

I have a process where users ftp particular files to /home/ftp/file1.txt & /home/ftp/file2.txt any given time of the day. I setup incrontab with the following:

/home/ftp/file1.txt IN_CLOSE_WRITE myCustomCMD
/home/ftp/file2.txt IN_CLOSE_WRITE myCustomCMD

I've been playing around with the different events to get the best result. I don't want a user to open the file in vim just to read and have it process the file again.

Any suggestions on the best practice to watch a file for any updates and then process the file? I tried IN_MODIFY but that doesn't trigger my command every time. I had IN_ALL_EVENTS but that failed to trigger as well.

PS: I would have tagged this with incrontab & incrond but they don't exist yet. My noob status won't let me create new tags. :(

2 Answers 2

1

If you are free to change the FTP daemon used I wholeheartedly recommend pure-ftpd.

It directly supports a script invoked on upload (and no other events); this script can then take any actions you deem necessary, and is run under the user performing the upload.

1
  • I'll have to check it out. I was using vsftpd so I could easily jail the ftp user. I see pure-ftpd allows chroot users.
    – KinGBin
    Oct 20, 2011 at 21:27
0

It sounds like you haven't started the incrond service. Did you take a look at /var/log/cron while testing?

1
  • It's triggering like it should on IN_CLOSE_WRITE. It wasn't all the time with IN_MODIFY or IN_ALL_EVENTS event. It would execute if I copied the file from another location on the box to the filename in the incrontab with those 2 events.
    – KinGBin
    Oct 20, 2011 at 21:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .