Créer des Notifications pour le montage CIFS sous Linux

j'ai un partage windows monté via CIFS sur un serveur ubuntu. J'ai besoin d'un moyen de savoir quand un nouveau fichier a été ajouté à la part de Windows. J'ai essayé ce programme inotifié:

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

qui fonctionne très bien avec les répertoires standards, mais est incapable de capter les changements CIFS. Je n'ai pas nécessairement besoin d'utiliser inotify, bien que je le voudrais, mais tout suggestions sur la façon d'accomplir obtenir des notifications de création de fichier serait grande.

10
demandé sur ofosho 2011-11-14 20:22:17

4 réponses

j'ai également travaillé sur ce sujet et je suis tombé sur la même question - il semble (après un petit chalutage sur google) que, malheureusement, il n'est pas possible d'utiliser inotify sur CIFS cloisons montées - ce qui suit était dans un post redhat forum d'Il ya quelques années:

" actuellement, non, ce n'est pas possible avec le CIFS. Les crochets VFS pour permettre un le système de fichiers permettant de configurer des notations supplémentaires a été supprimé récemment. Le seul "l'utilisateur" d'entre eux était CIFS et il n'a jamais fonctionné correctement de toute façon. Le l'interface du noyau pour cela avait aussi de sérieux problèmes.

je pense que Steve a des plans pour le ré-implémenter, mais c'est un projet majeur cela signifie ajouter de nouvelles fonctionnalités à la couche VFS du noyau."

alors que c'était il y a quelques années, il semble que nous ne sommes pas près d'avoir cette facilité disponible - honte, j'aurais vraiment pu l'utiliser aussi!

13
répondu Stephen Sullivan 2012-04-11 14:23:06

moi aussi j'ai couru dans cette direction et j'en suis arrivé à la même conclusion que Stephen Sullivan (CIFS + inotify = no go).

cependant, étant donné que mon flux de travail dépendait à la fois des montages à distance et des outils d'auto-compilation qui s'appuient sur inotify, j'ai fini par construire une solution (assez désespérée & hacky) qui utilise simplement les sondages pour surveiller les changements et puis touche à nouveau les mêmes fichiers sur le côté monté, ce que ne semble déclencher des événements inotify. Il n'est pas ma plus grande fierté.

cela dit, cela fonctionne, donc profitez: http://github.com/rubyruy/watchntouch

8
répondu rubyruy 2013-05-05 03:49:34

c'est faisable.. sorte de

si vous configurez un serveur webdav et incluez le partage comme emplacement webdav, vous pouvez surveiller l'emplacement sur votre serveur samba tout en y accédant via webdav depuis votre machine windows.

le gros problème avec cela est que les permissions de fichiers sont un b*tch... comme d'habitude avec apache2 webdav depuis son absence d'authentification de passage

0
répondu Peter Elzinga 2013-07-12 10:42:17

pour les hôtes Windows exécutant des conteneurs Linux docker il y a un article détaillé sur cette question avec une solution fournie qui fonctionne "docker-windows-volume-watcher": http://blog.subjectify.us/miscellaneous/2017/04/24/docker-for-windows-watch-bindings.html

semble que le support ne vient pas de si tôt de L'implémentation Linux de CIFS inotify.

0
répondu MyUserInStackOverflow 2018-04-15 13:06:59