我应该期望 mailx 可以与 SLURM 一起使用吗?

Should I expect that mailx would work with SLURM?

这个简单的脚本 (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

一个"wrapped"命令和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


我查看了关于 Whosebug 的其他 slurm and mailx 问题,但 none 似乎解决了这个问题。

我查看了环境变量,甚至尝试将所有环境变量设置为相同(即使是那些以 SLURM 开头的变量),但行为差异仍然存在。

这不是一个直接的答案,但它有效:请尝试 mutt

在花了太多时间试图让 mailx 工作之后,我们尝试了 mutt 并且它完成了工作。在 mutt 安装并确认工作后,我再次尝试 mailx(作为完整性检查),但是当 SLURM 调度程序 运行 时它仍然不起作用。