2009-03-16 48 views
3

私はWebベースのファイルシステム抽象化レイヤ開発の途中です。 ちょうどファイルブラウザと同じですが、それには奇妙なパーミッションなどの特別な機能があります。pythonを使ったディレクトリチェックサム?

私は、ディレクトリの変更について何らかの通知を受けたいと思います。 誰かがFTP経由で新しいファイルをアップロードすると、特定のユーザーが適切なメッセージを受け取る必要があります。メッセージを詳細にする必要はありませんが、正確なリソースが変更されたことを示す必要はありません。親ディレクトリ名で十分です。

どのようなアプローチをお勧めしますか?

答えて

2

サーバーを使用して、更新プログラムのみがFTPから来ている場合は、私が過去に使用した別の解決策がProFTPDにアドオンモジュールを書くことですinotify

のようなものでこれを行うことができますLinuxの場合にはアップロードが完了すると、「通知」を実行します。

1

は、この質問を参照してください:How to quickly find added/removed files?

をしかし、あなたは(すなわち、代わりにFTPのHTTPのPOSTを使用)何とかアップロードを制御することができた場合、アップロードが完了した後、あなたは、単に通知を送信することができます。これには、ユーザーが部分的にファイルを見ることがないことを確認することが簡単になるという追加の利点があります。

+0

私は、そこに保存されているファイルがそれぞれ> 200 MBを超えるので、FTPを好むでしょう。 – ohnoes

+0

+1:アップロードトランザクションを書き込みます。通知を追加する独自のFTPクライアントを作成します。 –

+0

S.Lott:車輪を元気づけるように聞こえる。私が自分のクライアントを使用するように頼んだら、私のユーザは私を十字架につけるだろう; – ohnoes

0

単純なアプローチは、作業ディレクトリの最終変更日を監視/チェックすることです(たとえば、os.stat()を使用して)。

ディレクトリ内のファイルが変更されるたびに、作業ディレクトリ(ファイルが存在するディレクトリ)の最終変更日も変更されます。

少なくとも、これは私が取り組んでいるファイルシステム(ufs、ext3)で動作します。私はすべてのファイルシステムがこのようにしているかどうかはわかりません。

関連する問題