私は3台のサーバ、s1、s2、d1を持っています.d1はsambaサーバです。私が持っているプロセスは、s1で実行されているスクリプトがファイルを生成してd1にコピーし、s2がd1からそれらのファイルを取り出し、それらのファイルでいくつかのプロセスを実行するというものです。Bashスクリプト:共有ファイルが別のサーバで開かれていることを確認してください
私の問題は、s2でs1がピックアップする前にd1にファイルを書き終わっていることを確認する必要があるということです。これらは時には大きなファイルなので、s2上にあるcrontabの設定に基づいてs2がファイルをコピーしようとしているときにs2が重複している可能性があります。
最初の傾きはlsofを使用していましたが、コマンドを実行しているサーバーでどのファイルが使用されているのかが分かります。どのように私はこのファイルのチェックをスクリプト化することができますか?
何についてはsshとgrep経由のlsofを実行することができます 'flock'?ロックはNFS上で動作しますが、正直なところ私はsambaについては考えていません。 – FatalError
@FatalError s1がファイルをコピーしているときにs2がアクセスできないようにファイルをロックするflockを使用していると言っていますか? Samba関連のコマンドは、d1から実行しなければならないので、私はとにかく使えるとは思えません。 –