庄司と申します。悩んでる最中です。(-.-;
<悩み事>
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. (時事通信社 システム局開発部)
------------------------------------------------------------
Follow-Ups:
- [linux-users:79041] Re: wu-ftpでのファイルロックについてKayama Yoichi
- [linux-users:79043] Re: wu-ftpでのファイルロックについてHIROSE, Masaaki
- [linux-users:79054] Re: wu-ftpでのファイルロックについてMATSUDA Yoh-ichi / 松田陽一
- Prev by Subject: [linux-users:79031] Re: DNSのサブドメインに付いて
- Next by Subject: [linux-users:79033] RE: [linux-users:79000] phpが止まってしまいます
- Previous by thread: [linux-users:79025] rtl8139 probrem.
- Next by thread: [linux-users:79041] Re: wu-ftpでのファイルロックについて
- Indexes:[Main][Thread]