我应该期望 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 调度程序 运行 时它仍然不起作用。
这个简单的脚本 (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 调度程序 运行 时它仍然不起作用。