PBS クラスターでジョブを実行するとき、ジョブログ (-o ファイル) を 2 か所に置きたいと思うことがあります。1 つは$PBS_O_WORKDIR
すべてをまとめるためのもので、もう 1 つ${HOME}/jobOuts/
は grep/awking/etc...
コマンド ラインからテストを実行すると、次のように動作しtee
ます。
echo "hello" | qsub -o `tee $HOME/out1.o $HOME/out2.o $HOME/out3.o`
しかし、これを PBS スクリプトに入れようとすると、PBS スクリプトと qsub に入れても機能しません。
####Parameterized PBS Script ####
#PBS -S /bin/bash
#PBS -l nodes=1
#PBS -l walltime=0:01:00
#PBS -j oe
#PBS -o `tee TEE_TEST.o TEE_TEST.${PBS_JOBID}.o`
#PBS -M me@email.com
#PBS -m abe
#PBS -V
cd $PBS_O_WORKDIR
echo `date`
ここにqsubとエラーがあります:
qsub TEST.pbs
qsub: directive error: -o `tee TEE_TEST.o TEE_TEST.${PBS_JOBID}.o`
以下でいくつか他のことを試しましたが、何も機能しませんでした。
1 行 (カンマ、セミコロン、スペース):
#PBS -o ${PBS_JOBNAME}.${PBS_JOBID}.o,${HOME}/jobOuts/${PBS_JOBNAME}.${PBS_JOBID}.o
#PBS -o ${PBS_JOBNAME}.${PBS_JOBID}.o,${HOME}/jobOuts/${PBS_JOBNAME}.${PBS_JOBID}.o
#PBS -o ${PBS_JOBNAME}.${PBS_JOBID}.o ${HOME}/jobOuts/${PBS_JOBNAME}.${PBS_JOBID}.o
そして2行:
#PBS -o ${PBS_JOBNAME}.${PBS_JOBID}.o
#PBS -o ${HOME}/jobOuts/${PBS_JOBNAME}.${PBS_JOBID}.o
2 つの動作するライナーは 2 番目の -o オプションを使用するだけで、1 つのライナーは機能しません。
助言がありますか?出来ますか?