2016-08-03 82 views
0

qsubとHPCの新機能です。私は3つの小さな質問を得ました:PBS:ジョブの実行履歴を印刷する方法と、スクリプト名をPBS_JOBNAMEとして使用する方法は?

どのジョブスクリプトがどのstderrとstdoutに対応しているかを知る良い方法があります。私は手動でジョブ名とstderrとstdoutを入力することができます(今は$ PBS_JOBNAME。$ PBS_JOBIDをstderrとstdoutに使用しています)。しかし今から6ヶ月後、私は苦労するでしょうそこからジョブスクリプトstderrとstdout $ PBS_JOBNAME。$ PBS_JOBIDが生成されます。私はstderrとstdoutのプレフィックスとしてジョブスクリプト名を使用することを考えているので、それらを簡単に関連付けることができますが、スクリプトを手動で編集するだけでなく、これを自動的にするために設定できる変数がありますか?上記のスクリプトから

2 #PBS -N testjob 
    3 #PBS -d /home/mydir/projects/test 
    4 #PBS -q home 
    5 #PBS -V 
    6 #PBS -l nodes=1:ppn=1 
    7 #PBS -l walltime=1:00:00 
    8 #PBS -M [email protected] 
    9 #PBS -o $PBS_JOBNAME.$PBS_JOBID.out 
10 #PBS -e $PBS_JOBNAME.$PBS_JOBID.err 

、私は/ホーム/ mydirの/プロジェクト/テストで実行されているディレクトリを指定するよ、私は#PBSに-d $のPWDを試みたが、それはうまくいきませんでした。実行中のディレクトリをPBSジョブを呼び出す現在のディレクトリとして自動的に設定する方法はありますか?

最後に、実行したジョブの記録を残したいと思います。私はqstatを使って現在の実行/キューイングジョブを見ることができますが、数分後にジョブは完了し、qstatは何の出力もしません。すべてのジョブ履歴を印刷できるコマンドはありますか?ありがとう!

+1

質問の '-d'部分に関しては、通常、' cd $ PBS_O_WORKDIR'をジョブスクリプトの最初のコマンドとして使用します。 –

+1

ありがとう!私は '#PBS -d。' – olala

答えて

2

あなたは実行することで完了したジョブの歴史の多くを見ることができます:

tracejob <job ID>

実行には使用方法のメッセージを参照するには、引数なし。出力の一部でパーミッションエラーが発生した場合は、使用可能なオプションを使用してこれらの部分を抑制することができます。最大情報を得るには-zを使用してください。

これはデフォルトで1日だけ戻されるため、さらに「戻る」を表示するには「-n <days>」を含める必要があります。

+0

に感謝しています。特定のユーザーが実行しているジョブを表示するコマンドがあります。つまり、過去数日間実行したすべてのジョブを表示したいと考えています。 – olala

+0

サーバーにアクセスできる場合は、アカウンティングログ(および使用可能な場合はジョブログ)を検索できますが、わかっていません。 – clusterdude

+0

大丈夫、そうではありません.... – olala