加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何在qsub中指定错误日志文件和输出文件

发布时间:2020-12-15 19:11:31 所属栏目:安全 来源:网络整理
导读:我有一个qsub脚本 #####----submit_job.sh---##### #!/bin/sh #$ -N job1 #$ -t 1-100 #$ -cwd SEEDFILE=/home/user1/data1 SEED=$(sed -n -e "$SGE_TASK_ID p" $SEEDFILE) /home/user1/run.sh $SEED 问题是 – 它将所有错误和输出文件(job1.eJOBID job1.oJO
我有一个qsub脚本
#####----submit_job.sh---#####
    #!/bin/sh
    #$ -N job1
    #$ -t 1-100
    #$ -cwd
    SEEDFILE=/home/user1/data1
    SEED=$(sed -n -e "$SGE_TASK_ID p" $SEEDFILE)
    /home/user1/run.sh $SEED

问题是 – 它将所有错误和输出文件(job1.eJOBID& job1.oJOBID)放在与我正在运行qsub submit_job.sh的同一目录中,同时我要保存这些文件(输出和错误日志文件在同一个不同的地方(指定为$ SEED_output)。
我试图换行

/home/user1/run.sh $SEED -o $SEED_output

但它没有奏效。任何建议?如何指定路径和名称的默认输出和错误日志文件?

通常,错误和输出文件以qsub脚本中的pbs指令或qsub脚本的命令行选项的形式给出,如下所示:
#! /bin/bash
#PBS -q queue_name
#PBS -A account_name
#PBS -l nodes=12:ppn=12
#PBS -l walltime=18:00:00
#PBS -e /mypath/error.txt
#PBS -o /mypath/output.txt

或者作为qsub的命令行选项,就像这样:

qsub -o /mypath/output.txt -e /mypath/error.txt submit_job.sh

使用第一个选项,我不认为你可以使用一个变量,因为shell不会看到被注释的行。另外我认为PBS会在shell之前处理注释行。如果您在调用qsub时知道路径,可以尝试第二个选项。
或者,您可以尝试简单地重定向脚本本身的输出和错误:

/home/user1/run.sh $SEED > ${SEED}/output.txt 2> ${SEED}/error.txt

第三个选项可能是最简单的。输出和错误文件仍可能在运行目录中创建,尽管它们可能为空。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读