Команда mailx странное поведение от cron

У меня есть скрипт, который перенаправляет вывод df в файл, а затем отправляет его по электронной почте. Команда mail настроена следующим образом:

/usr/bin/mail -s "Subject" -r from@nowhere.com toaddress@somewhere.com < /tmp/diskSpace.txt

Все работает правильно, когда я запускаю этот скрипт от имени пользователя root, но у меня странное поведение, когда я запускаю его из корневого файла crontab. В этом случае сообщение доставляется, но содержимое /tmp/diskSpace.txt прикрепляется к электронному письму, а не является его телом. Я даже попытался скопировать корневую среду, в которой работает cron, как:

env `cat root-env-saved-to-this-file` /bin/bash mailscript.sh

но ничего не изменилось. Любое предложение, или я должен просто справиться с этим с помощью почтовых библиотек Perl?

1 ответ

Попробуй добавить это перед работой cron.

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Он покажет пользователю cron, где находятся исполняемые каталоги.

Другие вопросы по тегам