Подтвердить что ты не робот

Получение файлов Создание уведомлений для CIFS Mount в Linux

У меня есть общий доступ к окнам, установленный через CIFS на сервере ubuntu. Мне нужно знать, когда новый файл был добавлен в общий ресурс Windows. Я пробовал эту программу inotify:

http://www.thegeekstuff.com/2010/04/inotify-c-program-example/

Что отлично работает со стандартными каталогами, но не может уловить какие-либо изменения CIFS. Мне не обязательно использовать inotify, хотя я бы хотел, но любые предложения о том, как добиться получения уведомлений о создании файла, были бы большими.

4b9b3361

Ответ 1

Я также работал над этим и столкнулся с той же проблемой - кажется (после небольшого траления на google), что, к сожалению, невозможно использовать inotify в CIFS-монтируемых разделах. Следующий был на форуме redhat сообщение от пару лет назад:

"В настоящее время это невозможно с помощью CIFS. Крючки VFS позволяют недавно была удалена файловая система для установки дополнительных уведомлений. только" пользователь "из них был CIFS, и он никогда не работал должным образом. интерфейс ядра для этого также имел серьезные проблемы.

Я думаю, что Стив планирует переопределить его, но это крупный проект что означает добавление новых функций в уровень VFS ядра."

Пока это было пару лет назад, похоже, мы не ближе к тому, чтобы иметь доступ к этому объекту - позор, я тоже мог бы использовать его!

Ответ 2

Я тоже столкнулся с этим и пришел к такому же выводу, что и Стивен Салливан (CIFS + inotify = no go).

Однако, поскольку мой рабочий процесс зависел как от удаленных монтировок, так и от инструментов автоматической компиляции, которые полагаются на inotify, я закончил создание (довольно отчаянное и хакерское) решение, которое в основном просто использует опрос, чтобы следить за изменениями, а затем затрагивает те же файлы снова на смонтированной стороне, которая, похоже, запускает события inotify. Это не мой самый гордый момент.

Сказав это, он действительно работает, поэтому наслаждайтесь: http://github.com/rubyruy/watchntouch

Ответ 3

Это можно сделать.. вид

Если вы настроили сервер webdav и включили общий ресурс в качестве местоположения webdav, вы можете отслеживать местоположение на сервере samba при доступе к нему через webdav с вашего компьютера Windows.

Большая проблема с этим заключается в том, что права на файлы - это b * tch... как обычно, с apache2 webdav, поскольку отсутствует пропущенная аутентификация