inotifywait输出的文件名总是有.filepart

时间:2015-12-08 20:11:29

标签: inotify inotifywait

我使用inotifywait来监控使用WinScp的大型文件传输:

  inotifywait --event close_write --event moved_to --format '%w%f %e %T' 
     --timefmt '%F %T' $watchFolder |  while read eventOutputInfo do
     echo "eventOutputInfo is:" $eventOutputInfo

但它总是在末尾用.filepart打印出文件名。在目标目录下,传输完成后,它具有正确的文件名,但没有.filepart。而且我不确定为什么move_to事件不在输出中。

   /root/p/file.filepart CLOSE_WRITE,CLOSE 2015-12-08 14:56:16

有人可以告诉我应该注意哪些事件,以便.filepart不是inotifywait输出中文件名的一部分吗?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用监视器开关运行inotifywait,以观察文件传输生命周期中发生的情况,以了解触​​发的事件。对我来说:

inotifywait -m .
当我通过Dolphin文件管理器复制文件时,

产生了以下输出:

./ CREATE filename.part
./ OPEN filename.part
./ MODIFY filename.part
./ MODIFY filename.part
./ MODIFY filename.part

... repeated many times ...

./ MODIFY filename.part
./ MODIFY filename.part
./ MODIFY filename.part
./ CLOSE_WRITE,CLOSE filename.part
./ MOVED_FROM filename.part
./ MOVED_TO filename
./ ATTRIB filename
./ ATTRIB filename
./ OPEN,ISDIR 
./ CLOSE_NOWRITE,CLOSE,ISDIR 
./ OPEN,ISDIR 
./ CLOSE_NOWRITE,CLOSE,ISDIR 

所以也许这是你正在寻找的那些事件之一。 .part.filepart扩展名是文件传输的正常副作用。我无法解释为什么MOVED_TO事件没有为您触发,但如果您尝试使用显示器开关(-m),您可能会找到解释。