阻止看门人在文件上传期间触发?

时间:2019-09-18 16:51:31

标签: centos7 watchman

我想在上传文件夹中查看新文件,并在上传任何内容时触发脚本。为此,我在CentOS 7盒子上安装了watchman,并将其设置为观看上载文件夹。这种方法有效,但是当上传大文件时,看门人会在之前触发一次或多次。由于我的脚本将移动文件,因此可能导致数据损坏和上传失败。如何过滤掉这些“部分”触发器?

作为示例,我制作了一个测试脚本,该脚本只是将信息转储到文件中,因此在一次上载时就向我提供了此输出:

Wed Sep 18 08:39:20 AKDT 2019 - test.nc STDIN: [{"mode": 33188, "oclock": "c:1568822800:18913:1:743734", "exists": true, "new": true, "size": 5924978688, "name": "test.nc"}]
Wed Sep 18 08:39:22 AKDT 2019 - test.nc STDIN: [{"mode": 33188, "oclock": "c:1568822800:18913:1:747283", "exists": true, "new": false, "size": 6056411136, "name": "test.nc"}]
Wed Sep 18 08:39:22 AKDT 2019 - test.nc STDIN: [{"mode": 33188, "oclock": "c:1568822800:18913:1:747324", "exists": true, "new": false, "size": 6057754624, "name": "test.nc"}]
Wed Sep 18 08:39:24 AKDT 2019 - test.nc STDIN: [{"mode": 33188, "oclock": "c:1568822800:18913:1:752502", "exists": true, "new": false, "size": 6229433544, "name": "test.nc"}]

1 个答案:

答案 0 :(得分:1)

我能够通过调整“定居”参数来解决此问题。显然,对于网络传输而言,默认值20 ms太低,导致磁盘由于输入数据被缓冲等原因而处于空闲状态。通过将该设置提高到500,守卫将不再在文件传输完成之前触发。