Стоит ли ожидать, что 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
Я вижу результаты первой и последней команд эха в захваченном стандартном выводе, но электронное письмо не отправляется.
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
на некоторых системах.
Я рассмотрел другие вопросы, связанные с slurm и mailx, о stackru, но, похоже, ни один из них не решил эту проблему.
Я смотрел на переменные среды и даже пытался установить все переменные среды одинаковыми (даже те, которые начинаются с SLURM), но разница в поведении все еще остается.
1 ответ
Это не прямой ответ, но это работает: попробуйте mutt
вместо.
Потратив слишком много времени, пытаясь получить mailx
на работу мы пытались mutt
и это делает работу. После mutt
был установлен и подтвержден на работу, я пытался mailx
снова (как проверка работоспособности), но он все еще не работает при запуске планировщиком SLURM.