使用incrontab mv文件导致0字节文件

时间:2019-02-06 13:27:25

标签: linux cron incron

我正在通过incrontab -e编辑器中的命令使用incrontab监视文件夹:

/media/pi/VDRIVE IN_CLOSE_WRITE sudo mv $@/$# /media/pi/VDRIVE/ready/$#

受监视的文件夹正在从另一台计算机上通过网络释放文件-该文件显示为OK,并且似乎在复制过程关闭文件后似乎触发了incrontab作业,但是mv命令导致文件中的字节数为0具有正确名称的目标文件夹。

全部以root身份运行。

1 个答案:

答案 0 :(得分:0)

似乎OSX上的Samba中存在一个错误,当写入网络上的共享文件夹时会导致两个事件。当使用OSX计算机(最新的OS 10.7及更高版本)时,这使incrontab几乎不可行。 因此,当OSX将文件写入Linux samba共享时,有两个事件,第一个事件在文件实际写入完成之前触发mv操作。这是OSX的SAMBA实施中的错误。

最后,我使用inotify将事件写入日志文件(总是有两个),然后在执行操作之前在文件中扫描了事件的两个实例。

另一种策略是在cron例程上使用LSOF,该例程将忽略打开的任何待写入文件。