繁体   English   中英

通过电子邮件发送 shell 脚本的输出

[英]Email the output of a shell script

我有一个 shell 脚本 (script.sh),我在其中运行了一个简单的 python 网络爬虫

python3 script.py

当我在 cron 作业中运行这个 shell 脚本时,如果出现问题,我希望通过电子邮件收到通知。 我在 stackoverflow 上找到了这段代码,我把它放在了我的 .sh 脚本的底部:

./script.sh 2>&1 | tee output.txt | mail -s "Script log" email@address.com

问题是脚本现在似乎在循环; 它应该只需要几秒钟,现在运行需要几分钟,我的邮箱中收到 10-20 封电子邮件。 这些电子邮件的内容各不相同,大多数情况下电子邮件是空的,但有时它们包含以下消息:

./script.sh: 4: ./script.sh: Cannot fork 

或者:

mail: Null message body; hope that's ok 

我不确定这里出了什么问题。 我能做些什么来解决这个问题?

脚本运行,运行python,然后再次调用自己,直到它耗尽资源并且无法fork。

.sh 应包含:

python3 script.py 2>&1 | tee output.txt | mail -s "Script log" email@address.com

假设您实际上想在 pwd 所在的任何文件夹中创建 output.txt ……否则您可以完全忽略它。

或者,您可以在 crontab 中配置您的 MAILTO(请参阅https://www.cyberciti.biz/faq/linux-unix-crontab-change-mailto-settings/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM