如果直接从命令行运行,这个简单的脚本(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
A&#34;包裹&#34;命令和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开头的那些),但行为上的差异仍然存在。
答案 0 :(得分:0)
这不是直接答案,但可行:请尝试mutt
。
在花费太多时间尝试让mailx
工作之后,我们尝试了mutt
并完成了这项工作。安装mutt
并确认其工作后,我再次尝试mailx
(作为完整性检查),但在SLURM调度程序运行时仍然无效。