Slurm 批处理脚本保存到变量或追加

问题描述 投票:0回答:1

我希望能够将我的 slurm 批处理脚本附加到我的错误文件中。我使用

sbatch -J "my_run_name" runscript.slurm
在 HPC 上提交这些内容。
runscript.slurm
的内容总结如下。

#!/bin/bash

#SBATCH --job-name=%x
#SBATCH --output=%x.o-%j
#SBATCH --error=%x.e-%j
## Other directives...

error_file="$SLURM_SUBMIT_DIR/$SLURM_JOB_NAME.e-$SLURM_JOB_ID"
main="/path/to/main/file"

# set parameters, then call main function
$main --opt1 $opt1 --opt2 $opt2

# Last line of script
scontrol write batch_script $SLURM_JOB_ID $error_file

不幸的是,这会覆盖我在长期运行的计算(大量进度日志语句)中在

error_file
中积累的所有其他内容
我想知道是否可以将
追加

runscript.slurmrunscript.slurm

,而不是覆盖
error_file
中的所有现有内容。
在一个相关点上 - 是否可以将 
error_file

的内容转储到 bash 变量中,然后我可以将其传递给我的

runscript.slurm

 函数(这样我可以将 
main
 保存为计算结果中的附加字段) 。希望这个问题有意义。

尝试使用
bash slurm hpc sbatch
1个回答
0
投票
runscript.slurm

您可以获取其输出并以追加模式将其重定向到感兴趣的文件,而不是向 SLURM 提供存储脚本的文件。
    

© www.soinside.com 2019 - 2024. All rights reserved.