如何查看新文件的文件夹,然后使用新文件执行脚本$ 1

时间:2016-05-08 17:14:47

标签: xml linux bash

我有一个Windows应用程序将创建一个.xml文件并将其上传到我的Linux服务器上的文件夹。我需要一种方法来监视这个新文件,它的文件名将是“004job.xml”,“012job.xml”等等。文件名每次都不同。检测到文件后,将使用新文件作为命令行变量运行脚本。像这样的“/home/project/scripts/renderjob.sh /home/project/jobs/012job.xml”。该脚本将根据.xml文件的内容执行一些操作,最后一个操作是删除.xml文件。

同样重要的是,一次只运行此脚本的一个实例。但那是一匹不同颜色的马。

感谢阅读。

1 个答案:

答案 0 :(得分:0)

简言之:

  

检测到文件后,将运行一个脚本,并将新文件作为其命令行变量。

https://unix.stackexchange.com/questions/273556/when-a-particular-file-arrives-then-execute-a-procedure-using-shell-script/273563#273563

  

同样重要的是,一次只运行此脚本的一个实例。

以这种方式在脚本中使用flockhttps://unix.stackexchange.com/questions/274498/performing-atomic-write-operations-in-a-file-in-bash/274499#274499。在flock中插入监听文件:

(
    flock -s 200

    res=$(inotifywait $DIR)
    # other actions

) 200>/var/lock/myscriptlock