17

ubuntu サーバーに CIFS 経由でマウントされた Windows 共有があります。新しいファイルが Windows 共有に追加されたことを知る方法が必要です。私はこのinotifyプログラムを試しました:

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

標準のディレクトリでは問題なく動作しますが、CIFS の変更をキャッチできません。inotify を使用したいのですが、必ずしも使用する必要はありませんが、ファイル作成通知を取得する方法についての提案は素晴らしいでしょう。

4

5 に答える 5

17

私もこれに取り組んでいて、同じ問題に遭遇しました - 残念ながら、CIFS マウントされたパーティションで inotify を使用することはできないようです (Google で少し調べた後)。数年前:

「現在、これはCIFSでは不可能です。ファイルシステムが追加の通知を設定できるようにするVFSフックは最近削除されました。それらの唯一の「ユーザー」はCIFSであり、とにかく正しく動作しませんでした。これのためのカーネルインターフェースは深刻な問題も。

スティーブには再実装の計画があると思いますが、これはカーネルの VFS レイヤーに新しい機能を追加することを意味する主要なプロジェクトです。」

これは数年前のことですが、この施設を利用できるようになるにはほど遠いようです - 残念ながら、私も実際に利用できたはずです!

于 2012-04-11T14:23:06.310 に答える
11

私もこれに遭遇し、Stephen Sullivan と同じ結論に達しました (CIFS + inotify = no go)。

しかし、私のワークフローはたまたま inotify に依存するリモート マウントと自動コンパイル ツールの両方に依存していたため、基本的にポーリングを使用して変更を監視し、同じファイルに再度アクセスする (かなり絶望的でハックな) ソリューションを構築することになりました。マウントされた側で、inotify イベントを発生させているようです。それは私の最も誇りに思う瞬間ではありません。

そうは言っても、うまくいくので、楽しんでください:http://github.com/rubyruy/watchntouch

于 2013-05-05T03:49:34.897 に答える
0

それはできる..一種の

webdav サーバーをセットアップし、共有を webdav の場所として含めると、Windows マシンから webdav を介してアクセスしながら、samba サーバー上の場所を監視できます。

これに関する大きな問題は、パススルー認証がないため、apache2 webdav ではいつものように、ファイルのアクセス許可が ab*tch であることです。

于 2013-07-12T10:42:17.737 に答える