写一个LSF提交作业测试脚本
时间: 2023-07-13 07:30:18 浏览: 188
好的,以下是一个简单的LSF提交作业测试脚本:
```bash
#!/bin/bash
#BSUB -J myjob # 作业名称
#BSUB -o myjob.%J.out # 作业输出文件名
#BSUB -e myjob.%J.err # 作业错误文件名
#BSUB -n 4 # 使用的CPU核心数
#BSUB -W 1:00 # 作业最大运行时间为1小时
#BSUB -q short # 作业提交到short队列
echo "Hello, world!" # 打印输出一句话
sleep 30 # 等待30秒钟
echo "Goodbye, world!" # 打印输出另一句话
```
这个脚本使用了LSF的作业提交命令`bsub`后面加上各种参数,用于指定作业名称、输出文件名、错误文件名、CPU核心数、运行时间和作业队列等信息。在脚本的主体部分,我们简单地打印输出了一句话,然后等待30秒钟,最后再打印输出另一句话。这个脚本可以用于测试LSF作业提交和运行的基本功能。
相关问题
LSF提交的作业如何在提交满一个系列后,向另外的序列提交作业
在 LSF 中,可以使用 bsub 命令的 -J 参数来提交一个作业系列,-J 参数后面指定的是作业名(job name),如:
```
bsub -J "job[1-100]" "command"
```
上面的命令将会提交一个名称为 job1, job2, ..., job100 的作业系列。
如果想要在一个作业系列提交满后,向另一个序列提交作业,可以使用 bsub 命令的 -w 参数和 -J 参数结合使用,如:
```
bsub -J "job[1-100]" -w "done(job)" "command"
bsub -J "job2[1-100]" "command"
```
上面的命令将会先提交 job1, job2, ..., job100 这个作业系列,然后等到所有作业执行完毕后,再提交一个名称为 job21, job22, ..., job2100 的作业系列。
其中,-w 参数指定了一个作业完成条件,这里使用的是 done(job),表示当所有以 job 开头的作业都完成后,才能提交下一个作业系列。
LSF如何限制只允许特定用户组提交作业
LSF可以通过设置作业队列的属性来限制只允许特定用户组提交作业。具体操作如下:
1. 创建一个作业队列,例如myqueue:
```
bqueues -create myqueue
```
2. 设置作业队列的属性,例如只允许组为group1和group2的用户提交作业:
```
bconf setqueue -m group=group1,group2 myqueue
```
3. 将需要限制的作业提交到myqueue队列中:
```
bsub -q myqueue script.sh
```
这样,只有组为group1和group2的用户才能够提交作业到myqueue队列中。其他用户提交作业时会提示权限不足。
阅读全文