我有一个脚本,将df输出redirect到一个文件,然后通过电子邮件发送。 邮件命令设置如下:
/usr/bin/mail -s "Subject" -r [email protected] [email protected] < /tmp/diskSpace.txt
当我以root用户的身份运行这个脚本时,一切正常,但是当我从根crontab运行它时,我有一个奇怪的行为。 在这种情况下,消息被传递,但是/tmp/diskSpace.txt的内容被附加到电子邮件,而不是作为正文。 我甚至试图复制运行cron的根环境:
env `cat root-env-saved-to-this-file` /bin/bash mailscript.sh
但没有任何改变。 任何build议,或者我应该只用perl邮件库来处理?
尝试在你的cron作业之前添加这个。
SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
它将向cron用户显示可执行文件所在的位置。