リモート マシンでの大規模な数学的計算ジョブの実行を自動化するスクリプトが必要です。現在、私はこれを行います:
ssh
リモートマシンへ。matlab スクリプトを実行する- 定期的にチェックインして、ジョブがまだ完了しているかどうかを確認します
- 仕事が終わったら
scp
、結果を含むファイルを手動で自宅のマシンに戻します。
このジョブを実行するために、スクリプトでこれらの種類の行を使用しようとしました (スクリプトが私のマシンで実行されることに注意してください)。
ssh nohup matlab -r theScript; exit;
scp remote@~/files ~/files
これはうまくいきません。しばらくすると、ssh セッションが終了し、ジョブがまだ終了しておらず、ファイルがまだ存在していなくても、スクリプトは scp の実行に進みます。
私がする必要があるのは、おそらく定期的に ssh を実行し、grep を使用してシグナルをnohup.out
探してファイルを読み取ることによって、ジョブが完了したかどうかを定期的に確認することだと思います。DONE!
次に、それが表示されたら、ファイルをコピーして戻します。DONE!
しかし、これは複雑なようで、メッセージをコンピューターに戻して条件付きで実行する方法がわかりません(DONE
信号が表示された場合は、このようなことを行います...) 何かアイデアはありますか?