Php 使用inotify通知新文件
我需要制作一个脚本,在新文件进入目录时通知日志文件。我想使用inotify作为shell脚本或PHP,我发现的大多数示例都是C语言。有人能给我举个例子吗Php 使用inotify通知新文件,php,shell,inotify,Php,Shell,Inotify,我需要制作一个脚本,在新文件进入目录时通知日志文件。我想使用inotify作为shell脚本或PHP,我发现的大多数示例都是C语言。有人能给我举个例子吗 此外,inotify是否可以知道文件何时完成复制?每当在/path/to/dir中创建文件时,此shell命令将写入日志文件: 说明: -m告诉inotifywait继续运行。默认设置是在第一个事件之后退出 -e create告诉inotifywait仅报告文件创建事件。根据您想要完成的任务,您可能对结束事件更感兴趣 /path/to/dir是
此外,inotify是否可以知道文件何时完成复制?每当在/path/to/dir中创建文件时,此shell命令将写入日志文件: 说明: -m告诉inotifywait继续运行。默认设置是在第一个事件之后退出 -e create告诉inotifywait仅报告文件创建事件。根据您想要完成的任务,您可能对结束事件更感兴趣 /path/to/dir是要监视的目标目录。除非指定了递归选项-r,否则不会监视子目录 >>logfile告诉shell将所有输出重定向到logfile文件。如果您关闭此部分,输出将被定向到标准输出,您可以在创建文件时实时观看 监视更多事件 inotifywait将报告几个不同的事件。例如,我在一个窗口中运行inotifywait,同时从另一个窗口写入文件:
$ inotifywait -m .
Setting up watches.
Watches established.
./ OPEN myfile
./ MODIFY myfile
./ MODIFY myfile
./ MODIFY myfile
./ CLOSE_WRITE,CLOSE myfile
因为上面没有重定向,所以所有输出都显示在终端上
打开事件表示文件的初始创建。关闭事件表示流程已完成
inotifywait将向您显示的确切事件集取决于系统调用您正在监视的程序的方式。执行类似于上述的测试以找到答案。请参阅:,对于可能触发的事件,关闭文件/复制文件时也可以捕获。
$ inotifywait -m .
Setting up watches.
Watches established.
./ OPEN myfile
./ MODIFY myfile
./ MODIFY myfile
./ MODIFY myfile
./ CLOSE_WRITE,CLOSE myfile