![incrontab 监视通过 vsftpd 上传的文件](https://linux22.com/image/564988/incrontab%20%E7%9B%91%E8%A7%86%E9%80%9A%E8%BF%87%20vsftpd%20%E4%B8%8A%E4%BC%A0%E7%9A%84%E6%96%87%E4%BB%B6.png)
我有一个进程,用户在一天中的任何时间将特定文件 ftp 到 /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,但它也未能触发。
附言:我本来想用 incrontab 和 incrond 来标记它,但它们还不存在。我的菜鸟身份不允许我创建新的标签。:(
答案1
如果你可以自由地更改使用的 FTP 守护程序,我诚心推荐纯 ftpd。
它直接支持上传时调用的脚本(没有其他事件);然后该脚本可以采取您认为必要的任何操作,并在执行上传的用户下运行。
答案2
听起来您还没有启动该服务。您在测试时incrond
查看过吗?/var/log/cron