我正在使用SGE群集并且在qsub电子邮件通知系统中遇到一些问题。我的所有工作都完美无缺,但我似乎无法将默认行为修改为仅在中止的作业中通知。 -M标志正常工作,我在作业中止时收到一封电子邮件,但是我希望在作业开始,结束,中止或暂停时收到电子邮件。我在我的脚本中使用了以下标志(以及更多),是否有一些我丢失的愚蠢行为?
#!/bin/bash
#$ -S /bin/bash
#$ -M email@server
#$ -m beas
program
当我尝试以下操作时,它也不起作用:
qsub -M email@server -m baes script.sh
这是我应该使用我的群集系统管理员的问题,还是我做错了什么?
感谢您的帮助。
答案 0 :(得分:4)
解决此问题时需要了解的重要事项是,作业状态电子邮件将由作业运行的节点发送。例如,我有一个测试作业,输出如下:
#!/bin/bash
#
#$ -N MAIL
#$ -j y
#$ -m easb
#$ -M pkenyon
hostname
现在,运行该作业,看看它在哪里运行。
[pkenyon@head ~]$ qsub mail.sh
Your job 346 ("MAIL") has been submitted
[pkenyon@head ~]$ cat MAIL.o346
node03.cluster
如果您查看系统上的邮件日志,您将看到所做的投放尝试。你必须从那里诊断出来。以下是一些失败的例子(甚至是以你希望的方式取得成功的成功案例):
使用-M pkenyon
...
Jun 5 13:56:00 node04 postfix/local[13141]: 14A3E143320: to=<pkenyon@node04.cluster>, orig_to=<pkenyon>, relay=local, delay=0.05, delays=0.03/0/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
...
使用-M pkenyon@head.cluster
...
Jun 5 14:00:30 node04 postfix/smtp[13283]: 35CC4143320: to=<pkenyon@head.cluster>, relay=none, delay=0.36, delays=0.17/0/0.19/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=head.cluster type=AAAA: Host not found)
...
如果使用-M someone@gmail.com
...
Jun 5 12:20:47 node04 postfix/smtp[12798]: 1EEA5143320: to=<someone@gmail.com>, relay=ASPMX.L.GOOGLE.com[64.233.168.27]:25, delay=0.64, delays=0.04/0/0.59/0.02, dsn=5.0.0, status=bounced (host ASPMX.L.GOOGLE.com[64.233.168.27] said: 550 Relay not permitted (in reply to RCPT TO command))
...
所以是的,您需要与群集系统管理员交谈,但这些是确定您的SGE电子邮件挂起的第一步。通过更多信息,您的管理员将能够修复配置问题并帮助您从群集环境中获得更多信息。