windowsPCで制御される測定装置がある。
装置から出力されるファイルはwindowsPCを介して出力される。

この出力されたファイルを検知して、自動的に一連の処理を行わせたい。
。。。だが、その処理はLinuxで稼動するアプリケーションで行わせたい。

2016y09m07d_205624818.png

単純には計算機で「5分に1回、ファイルを確認して、新規のファイルがあればそれを引数にして計算を実行する」とかが有望。
その場合、

  • windowsPCに書かれたファイルは「書き込み完了」なファイルなのか。
  • 毎回全部のファイルを再計算するのか?
  • 検知された新しいファイルは、そのまま残すのか?どこかへ移動するのか?
  • 残す場合で、古いのと新しいのと区別は?

を検討する必要がある。バッチ的な視点かな

あるいは、定期的な実行ではなく、ファイルが作成されたのを検知して実行する方法もある。
ここではこのファイルを検知して、計算を走らせる方法について記す。

windows側のフォルダ(NTFS) を共有ドライブにして、Linuxでcifs mountを行い、ファイル検知を行う

2016y09m07d_211747820.png
無理みたい。

windows側のフォルダを共有フォルダにして、Linux側からcifs mountして、inotify-toolsで動作を確認したが、
windows側での共有フォルダへの操作がまったく拾えていない。

windows側のフォルダ(NTFS) をNFSサービスで共有させ、Linux側からは通常のNFSマウントでファイル検知を行う

2016y09m07d_220335187.png
これも駄目

通信プロトコルをNFSにしても駄目。同じようにwindows側でのフォルダ操作がまったく拾えていない。

windows側からsambaサーバにアクセスして、Linux側はローカルフォルダとしてファイル検知を行う

2017y01m27d_234354308.png
これならOK

ただ、windows側のローカルフォルダに書かないので不安はある。

windwos側のローカルフォルダにデータを格納して、ミラーリングプログラムでLinux側へコピーする

2017y01m27d_235413526.png
これもLinux側でファイル検知はできる

ネットワーク経由で直接書かずに、まずはローカルにおいて、それからミラーリングプログラムでLinux(Z:ドライブ)へ渡す。
一番確実な方法かと

windows側でのミラーリングプログラム


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-01-28 (土) 00:01:28 (1459d)