同じプログラムを別のデータで1700回近く実行する必要があり、問題が発生しました。プログラムは繰り返しを使用して複数の計算を実行し、約5時間後に答えを取得します。問題は、今朝別のディレクトリに移動してexecutorを使用するbashスクリプトを生成しましたが、実行すると、nohup ./name_of_the-program >1&
サーバーがこれらのコマンドでクラッシュして手動で再起動する必要があることです。 。どのように実行できますか?私は3つの異なるLinuxサーバーにアクセスでき、そのうち16、16、20を同時に実行できます。よろしくお願いします。
答え1
GNU Parallelはこの種の仕事のために作られています。
サーバーから起動tmux
:
tmux
ssh
server1、server2、およびserver3に接続できることを確認してください。
次に、次を実行します。
cat 1700_arguments |
parallel --dry-run --joblog my.log -S server1,server2,server3 name_of_the-program
実行したいコマンドが正しいように見える場合--dry-run
。
次にサーバーを切断します(tmux at
再接続用)。
これにより、--joblog
失敗したジョブを回復または再実行できます。
正しいディレクトリに到達するには、を使用する必要があります--wd .
。