Имеет ли общий файловый ресурс Windows (протокол Samba) инкрементный API?

Я хотел бы запросить общий ресурс Windows для "всех файлов, добавленных / отредактированных / удаленных с отметки времени yyyy/mm/dd hh:mm:ss"

Существует ли такая вещь?

Единственное, что я знаю, это inotify - это единственный вариант?

https://stackoverflow.com/questions/8124617/getting-file-create-notifications-for-cifs-mount-in-linux

inotify на самом деле это не то, что я хочу, потому что это толчок, когда я ищу что-то, что я называю опросом.

Таких звуков, как то, что я ищу, не существует, но я решил спросить здесь, чтобы узнать, слышал ли кто-нибудь о чем-либо.

1 ответ

Решение

Видимо нет.

Сама Windows (через локальный доступ к диску) будет предлагать журнал USN, который может запрашивать все изменения, начиная с определенного индекса записи журнала (после этого вы сохраняете "текущий" индекс вместе с каждой резервной копией). Однако это не доступно через SMB, в соответствии с разделом 136 добавления A MS-SMB:

Windows не поддерживает вызовы журнала USN, поскольку для них требуется дескриптор тома. Следующие вызовы журнала USN также не выполняются при STATUS_NOT_SUPPORTED.

FSCTL_READ_USN_JOURNAL, FSCTL_CREATE_USN_JOURNAL, FSCTL_QUERY_USN_JOURNAL, FSCTL_DELETE_USN_JOURNAL, FSCTL_ENUM_USN_DATA

Вы также можете просматривать другие сообщения SMB, документированные в MS-SMB или MS-SMB2 (раздел 2). Я не мог найти никаких сообщений, которые могли бы искать файлы каким-либо образом, кроме перечисления одного каталога. (В любом случае это было бы несколько необычно для протокола файловой системы...)

Другие вопросы по тегам