PBS扭矩电子邮件变量



下面是我使用的pbs示例:

#!/bin/bash
#PBS -S /bin/bash
#PBS -N myJob
#PBS -l nodes=1:ppn=4
#PBS -l walltime=50:00:00
#PBS -q route
export MYMAIL=mytestmail@testmail.com
#PBS -m ae
#PBS -M mytestmail@testmail.com
./script1.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script1 done" $MYMAIL
./script2.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script2 done" $MYMAIL
./script3.sh
echo $PBS_JOBID $PBS_O_WORKDIR | mail -s "$PBS_JOBNAME script3 done" $MYMAIL
./script4.sh

如您所见,我希望在此过程中收到通知。我的问题是,用户必须写两次他们的电子邮件地址。

我试过了:

#PBS -M  $MYMAIL

但它不起作用。

我还试图找到一个包含期间存储的电子邮件的pbs变量

#PBS -M mytestmail@testmail.com

但什么都没有。。。

一个主意?

您通过不同的方法发送不同的电子邮件。使用#PBS-M行,您将告诉头节点上的PBS_server应该在哪里发送有关作业的电子邮件,而使用"|mail",您将从运行作业的节点向用户发送邮件。

Torque似乎没有设置包含-M内容的环境变量,所以我们不能将其传递给邮件。

我有两个主意给你。第一个是尝试从qstat中捕获Mail_Users行并对其进行解析

qstat -f [job number] | grep Mail_Users

第二个是为每个用户创建一个.forward文件,因为Torque默认情况下会通过电子邮件发送给本地用户帐户,删除#PBS-M行。您仍然需要将电子邮件或帐户名传递给邮件,但您可以通过以下方式逃脱:

mail -s "$PBS_JOBNAME script1 done" `whoami`

最新更新