[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:79032] wu-ftpでのファイルロックについて


庄司と申します。悩んでる最中です。(-.-;

<悩み事>
ftpでサーバに転送したファイルをWindowsマシンのプログラムから
samba経由で処理するシステムがあります。

# 大体こんな感じ。
# [Client]--ftp-->[Server]<--samba-->[WinPC]

Windowsマシン上のアプリケーションはネットワークドライブとして
接続された特定ディレクトリをひたすら見張っていて、ファイルが
書き込まれるとローカルに移動して処理を行います。

で、予想通りの展開なんですが、ファイル転送の途中でWindows上の
プログラムが処理を始めて見事に壊れた結果を出力してくれます。(^^;


<試した事>
Windowsアプリの開発者に取材したところ、特にファイルロック等の
チェックはしていない模様。ならば、と/etc/smb.confに
> strict locking = yes
と記述、samba経由でのファイルアクセス時に必ずロックチェックが
行われる様にしてみましたが・・・事象変わらず。

?と思って、ftpで巨大なファイルをアップロードしながらtelnetで
読み書きしてみると何の問題もなく編集可能。てっきりftpの書込み
時はファイルロックが掛かってるもんだと思い込んでたのですが、
大間違い?

また、samba側をいじって動作を確認してみるとstrict locking等の
記述はあくまでsamba経由のアクセスに対する制御で、samba以外の
プログラムとの排他制御には"kernel oplock"が必要なんて文献もあり
ましたが、取り敢えず今回の件には関係なし("oplocks"含めて)?

この時点で、Linux(いやUNIX全般)におけるファイルロックシステム
に関して根本的な知識不足を認識。/usr/src/linux/Documentation
のlocks.txtとmandatory.txtをかじりつつ、ハマってしまいました。


<お聞きしたいこと>
結局、運用で逃げてしまったのですが(ftpからディレクトリ作成で
処理開始フラグ)、皆さんならどの様な解決策を取られるのでしょう?

ftp転送が完了したことを何かで識別出来れば、それを見張っていて
適当なタイミングでsamba配下のディレクトリにmvすれば良いかとも
思ったのですが「xferlogを見張る?」なんつーイマイチな方法しか
うかばず、断念してしまいました。(-_-;

# それともやっぱり大ボケかましてるのかなぁ・・・うーん。(^^;;
------------------------------------------------------------
Kimifusa Syoji   (庄司 公房)
Jiji Press. Ltd. (時事通信社 システム局開発部)
------------------------------------------------------------

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: