Команда Linux sendmail не отправляет почту, пока находится в cron - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь запустить команду sendmail в среде Red-hat Linux на сценарии оболочки bash с помощью cronjob.Я могу успешно запустить этот сценарий, когда он запускается вручную, и все другие задания в оболочке выполняются правильно, кроме почтовой части. Я никогда не использовал sendmail и не уверен, что мне нужно изменить структуру представления.

Я пробовал почту и mailx.Я могу отправлять электронные письма, но файл журнала содержит много странных символов, которые помещают текстовый формат в вложение att00001.bin к электронному письму, которое мне не нужно.Команда sendmail, кажется, единственная, которая не отправляет вложение при запуске вручную.Другие задания cron работают правильно и могут отправлять электронные письма, у которых просто нет специальных символов в файле журнала.

echo '##################################################'
date
echo '##################################################'

#Run Script and write to log file
/comp/gfb281m.sh > /usr/local/bin/oracle/getload/getload.log 2>&1

#Send log file to developer group
(echo "Subject:GetLoad Shell"; echo; cat 
/usr/local/bin/oracle/getload/getload.log) | sendmail -v 
exampleEmail@outlook.com exampleEmail2@mail.mil

При запуске этого задания cron следует отправлять содержимое файла getload.log группе пользователей.

1 Ответ

0 голосов
/ 06 февраля 2019

Исправлена ​​проблема благодаря другому источнику.Я не использовал полный путь sendmail.Я просто указал «| sendmail -v email», а не полный путь sendmails, который для меня был «/ usr / sbin / sendmail».Не уверен, что здесь разрешены ссылки, но ниже я нашел ответ.

https://www.unix.com/red-hat/271632-bash-sendmail-command-not-found.html

...