我需要在每个文件上运行一个python脚本,写入特定的文件夹。 所以我在/etc/incron.d/中创建了一个文件并添加了以下行:
/srv/ftp IN_CREATE /usr/bin/python3 /srv/parser.py $@/$# >> /var/log/parser/incron.log 2>&1
系统日志告诉我:
incrond[32630]: (system::parser) CMD (/usr/bin/python3 /srv/parser.py /srv/ftp/00008260_2015-12-09T17-31-36.csv >> /var/log/parser/incron.log 2>&1)
但是日志为空,脚本没有做任何事情
答案 0 :(得分:0)
我发现了问题:即使文件未完全写入,IN_CREATE也会触发,因此,当复制速度非常快时,它会起作用,例如cp从一个文件夹到另一个文件夹的10kb文件,但绝对不是通过FTP,正确的事件是IN_CLOSE_WRITE,它会在ftp服务器执行fclose()之后触发,其次是unsrd不喜欢多个命令
所以以下工作:
/srv/ftp IN_CLOSE_WRITE /srv/parser.py $@/$#