Назад | Перейти на главную страницу

Странное поведение команды mailx из cron

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

/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?

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

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

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