Перемещение файла SFTP не вызывает событие
Я установил SFTP-сервер и некоторые триггеры, которые я хочу запустить, когда файл будет готов.
Если я запустил его до того, как он был завершен, или если произошла ошибка соединения, я сначала пишу tmp
папку (с использованием протокола SFTP) и после ее копирования я перемещаю ее в new
папка.
Я отслеживаю все события в одной папке, а другую с помощью inotify:
inotifywait -m --format '%:e %f' new
inotifywait -m --format '%:e %f' tmp
События для записи файла в папку tmp:
CREATE newFile
OPEN newFile
ATTRIB newFile
MODIFY newFile
MODIFY newFile
MODIFY newFile
Я заметил, что если я перенесу файл из одной папки в другую из bash:
mv tmp/newFile new
MOVE_TO
событие сработало. В папке tmp:
CLOSE_WRITE:CLOSE newFile
MOVED_FROM newFile
В новой папке:
MOVED_TO newFile
Однако, если я перемещаю файл с помощью метода RENAME через SFTP, это не так. Это все события, вызванные:
В папке tmp:
CLOSE_WRITE:CLOSE newFile
DELETE newFile
В новой папке:
CREATE newFile
OPEN newFile
ACCESS newFile
CLOSE_NOWRITE:CLOSE newFile
Это часть протокола SFTP? Можно ли переместить файл в sftp и вызвать событие MOVED_TO?
Это реализация для клиента sftp, который я использую: https://github.com/mscdex/ssh2-streams/blob/55fd9c36b6dca8dbf0588a1d6f450b85c784dc72/lib/sftp.js Я использую openssh-sftp-сервер для сервера