SFTP移动文件不会触发事件

时间:2019-02-08 08:33:19

标签: sftp ssh2-sftp

我已经设置了SFTP服务器以及一些我想在文件准备好后启动的触发器。

万一我在完成之前就开始了,或者连接出现了错误,我首先将其写入tmp文件夹(使用SFTP协议),然后将其复制到{{ 1}}文件夹。

我正在使用inotify跟踪一个文件夹中的所有事件,

new

将文件写入tmp文件夹的事件是:

inotifywait -m --format '%:e %f' new
inotifywait -m --format '%:e %f' tmp

我注意到,如果我将文件从bash移到另一个文件夹:

CREATE newFile
OPEN newFile
ATTRIB newFile
MODIFY newFile
MODIFY newFile
MODIFY newFile

已触发mv tmp/newFile new 事件。 在tmp文件夹中:

MOVE_TO

在新文件夹中:

CLOSE_WRITE:CLOSE newFile
MOVED_FROM newFile

但是,如果我通过SFTP使用RENAME方法移动文件,则不会。这些都是触发的事件:

在tmp文件夹中:

MOVED_TO newFile

在新文件夹中:

CLOSE_WRITE:CLOSE newFile
DELETE newFile

这是SFTP协议的一部分吗?是否可以在sftp中移动文件并实际触发MOVED_TO事件?

这是我正在使用的sftp客户端的实现: https://github.com/mscdex/ssh2-streams/blob/55fd9c36b6dca8dbf0588a1d6f450b85c784dc72/lib/sftp.js 我正在使用openssh-sftp-server作为服务器

0 个答案:

没有答案