【发布时间】:2015-11-03 18:28:52
【问题描述】:
如果直接从命令行运行,这个简单的脚本 (simple_mail.sbatch) 将发送两封邮件。它在头节点和我尝试过的任何集群节点上运行良好:
#!/bin/bash
echo "Getting ready to send an e-mail from $HOSTNAME"
# Try using a pipe
echo 'Testing pipe version' | mailx -s 'testing mail app' user@example.com
# Try using a heredoc
mailx -s 'testing mail app' user@example.com << 'END'
Testing < version
END
echo "Finished on $HOSTNAME"
但是,当使用sbatch 运行时,我在捕获的标准输出中看到第一个和最后一个 echo 命令的结果,但没有发送电子邮件。
sbatch simple_mail.sbatch
“包装”命令和srun 再好不过了:
sbatch --wrap='echo "Testing" | mailx -s "testing mail app" user@example.com'
srun ./simple_mail.sbatch
版本信息:
slurm 14.11.8
CentOS Linux release 7.1.1503 (Core)
Heirloom mailx 12.5
顺便说一下,mailx 在某些系统上可能被称为mail。
我在 stackoverflow 上查看了其他 slurm 和 mailx 问题,但似乎没有一个可以解决这个问题。
我查看了环境变量,甚至尝试将所有环境变量设置为相同(即使是那些以 SLURM 开头的变量),但行为上的差异仍然存在。
【问题讨论】:
-
您可以从运行作业的计算节点发送邮件吗?
-
是的。只要我直接运行命令而不是使用
sbatch或srun,我就可以发送邮件。谢谢你的提问。结果我更新了我的问题。 -
观察
MAILRC变量 -
@DmitriChubarov 谢谢!它似乎对我们的情况没有影响,但我将它纳入问题中,以防它帮助其他人。最后,我们试用了
mutt,它确实适用于我们系统上的 SLURM。
标签: email job-scheduling mailx slurm