Имеет ли общий файловый ресурс Windows (протокол Samba) инкрементный API?
Я хотел бы запросить общий ресурс Windows для "всех файлов, добавленных / отредактированных / удаленных с отметки времени yyyy/mm/dd hh:mm:ss
"
Существует ли такая вещь?
Единственное, что я знаю, это inotify
- это единственный вариант?
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). Я не мог найти никаких сообщений, которые могли бы искать файлы каким-либо образом, кроме перечисления одного каталога. (В любом случае это было бы несколько необычно для протокола файловой системы...)