GNU/Linux >> Linux の 問題 >  >> Linux

JOB_IDを使用してファイルに書き込まれたSTDOUTおよびSTDERRを使用してSLURMジョブを送信する

SLURMジョブをクラスターに送信するにはさまざまな方法があり、主な方法はsbatch を使用してスクリプトを送信することです。 以下に示すコマンド:

sbatch runcscript.sh

ジョブ管理用のSLURMスケジューラとしてバックエンドを使用するWebアプリケーションを開発する最近の試みでは、SLURMのドキュメントを参照して、以下に示すように、STDOUTとSTDERRをジョブIDのファイルw.r.tにリダイレクトしました。

#!/bin/bash
#SBATCH --job-name=qsim
#SBATCH --partition=standard-low
#SBATCH -o $SLURM_JOB_ID.output
#SBATCH -e $SLURM_JOB_ID.error
python UWVr6QCFKLGgx6sRtsnRZyRrajJdbPF4CsKGUqd7S4r.py

残念ながら、出力は変数$SLURM_JOB_IDに置き換えられませんでした 。

$ls -lrt
-rw-rw-r-- 1 vivekn vivekn 737 Sep 17 12:43 $SLURM_JOB_ID.output
-rw-rw-r-- 1 vivekn vivekn 580 Sep 17 12:43 $SLURM_JOB_ID.error

非常に広範な調査とハーバードの正しいガイドの結果、参照方法が間違っていることがわかり、SLURMJobsスクリプトを次のように変更する必要がありました。

#!/bin/bash
#SBATCH --job-name=qsim
#SBATCH --partition=standard-low
#SBATCH -o %j.output
#SBATCH -e %j.error
python UWVr6QCFKLGgx6sRtsnRZyRrajJdbPF4CsKGUqd7S4r.py

ファイル名の%jは、実行時にJobIDに置き換えられます。

ただし、SLURM環境変数$SLURM_JOB_IDが機能しなかった理由はまだわかりません。説明があり次第更新します。何か提案や回答があれば、下のコメントセクションに書いてください。


Linux
  1. Linuxでgocryptfsを使用してファイルを暗号化する方法

  2. スクリプトの同じ行で stderr と stdout を別のファイルにリダイレクトする方法は?

  3. stdout と stderr でバッファリングを無効にしても安全ですか?

  1. ディレクトリ付きの猫ファイル?

  2. StderrとStdoutを別のファイルにリダイレクトし、ターミナルに表示するにはどうすればよいですか?

  3. レンジャーで特定のフォルダ内のファイルを並べ替えますか?

  1. Crontabを使用してcronジョブをスケジュールする方法

  2. rsyncを使用してファイルをバックアップします

  3. LinuxでZIPファイルを操作する