我想知道是否有一种方法可以根据HPC中提交作业的位置来限制作业提交。
事情是,最近添加了用于暂存磁盘的存储。所以现在我有两个分区。
我希望所有HPC用户都只能在临时目录而不是主目录中提交作业。
HPC正在为作业调度程序运行LSF。因此,我能否通过LSF控制作业提交(即bsub),以便仅在草稿目录下提交的作业在HPC中运行?
谢谢。
答案 0 :(得分:1)
我不认为有一种本机的方法,但是有一种方法可以自定义LSF提交时间检查,以拒绝从错误目录提交的作业。看看这个文档:
特别地,您想要做的是定义一个esub
脚本,该脚本检查适当的提交CWD。假设您将脚本命名为esub.dircheck
,看起来像这样:
#!/bin/sh
# Reject if submission is under /home
if [[ $PWD/ = /home/* ]]; then
echo "Job submission from /home forbidden"
exit $LSB_SUB_ABORT_VALUE
fi
现在,您可以将esub.dircheck
放入$LSF_SERVERDIR
中(确保所有人都可以执行)。最后,如果您希望对每个作业提交都进行检查,请在lsf.conf中设置以下参数:
LSB_ESUB_METHOD=dircheck
最后一点:我只是检查PWD在上面的代码中是否以home作为前缀,但是如果您要确保所在目录位于下面,则可能需要做一些更复杂的事情。 / home,因为可能存在使前缀检查更加麻烦的符号链接。 Take a look at this answer for details。