Nil*_*lpo 6 linux email bash cron bash-scripting
我创建了一个运行 shell 脚本的 cron 作业。我希望 shell 脚本运行并捕获它的输出,并在完成后通过电子邮件发送。到目前为止,这是我所拥有的,但邮件正文是空的。
我已经尝试了以下所有方法:
/root/myscript.sh | tee output.txt | mail -s "Email subject" me@mymail.com
/root/myscript.sh | tee output.txt | mail -s "Email subject" me@mymail.com &> /dev/null
/root/myscript.sh | tee output.txt && mail -s "Email subject" me@mymail.com < output.txt &> /dev/null
/root/myscript.sh > tee output.txt && mail -s "Email subject" me@mymail.com < output.txt &> /dev/null
Run Code Online (Sandbox Code Playgroud)
所有这些都正常运行,但它们会产生一封空正文的电子邮件。运行脚本确实会在 stdout 上产生输出。
AFH*_*AFH 10
重定向时丢失屏幕文本的最可能原因是输出被发送到标准错误设备。output.txt
运行命令后,如果为空,这将被确认。
要重定向标准错误以及标准输出,您需要添加2>&1
到您的命令中,如下所示:
/root/myscript.sh 2>&1 | tee output.txt | mail -s "Email subject" me@mymail.com
Run Code Online (Sandbox Code Playgroud)
然后,您应该会在output.txt
.
归档时间: |
|
查看次数: |
25806 次 |
最近记录: |