2

我正在使用 inotify-tools 我想要在递归目录中创建的文件的通知

直到这里我成功了

现在我想获取在递归文件夹中创建/转储文件的目录路径

例如 abc.txt 文件被转储到 data/test 文件夹中

我希望路径是 data/test/abc.txt

下面是我在 .sh 文件中使用的代码

inotifywait -m -r --format '%f' -e modify -e move -e create -e delete /var/www/cloud/data | while read LINE; 
do 
    php /var/www/cloud/scannner/watcher.php; 
done

请帮我在递归目录中获取转储文件的路径

干杯

4

1 回答 1

2

使用%w修饰符:

inotifywait -m -r --format '%w%f' .......

要将 inotifywait 的输出作为参数传递给 php 脚本,该脚本将为argv变量读取它,您可以这样做:

inotifywait -m -r --format '%w%f' ....... | while read -r line
do 
    php script.php "$line"
done

否则,如果您希望 php 脚本从标准输入读取 inotifywait 的输出,那么您可以通过管道传输到您的脚本:

inotifywait -m -r --format '%w%f' ....... | php script.php
于 2013-08-17T14:19:02.610 回答