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

355
Nicholas DiPiazza

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

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

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

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

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

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

0

1 ответ на вопрос

1
grawity

Видимо нет.

Сама 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). Я не мог найти никаких сообщений, которые могли бы искать файлы каким-либо образом, кроме перечисления одного каталога. (В любом случае это было бы несколько необычно для протокола файловой системы ...)

отлично - «USN journal» может быть именно тем, что нам нужно. я посмотрю Nicholas DiPiazza 5 лет назад 0