为什么我的cronjob无法从脚本发送电子邮件?

时间:2020-07-12 16:09:40

标签: python python-3.x cron

从sh-3.2(以root用户身份登录)运行的Crontab脚本为:

* * * * * python /Users/tony/Documents/Python_Projects/Stock_Earnings_5.py #send an email every minute

Stock_Earnings_5根据逻辑发送电子邮件。

当前Stock_Earnings_5独立工作,并且在从shell sh-3.2(以root用户身份登录)手动运行时发送电子邮件。

crontab也可用于终端的“ hello world”。

因此,总而言之,crontab可以在终端上使用hello world程序,而Stock_Earnings_5可以独立于crontab进行调用,但是crontab调用Stock_Earnings_5时不会发送电子邮件。

1 个答案:

答案 0 :(得分:2)

要在上面正确发表我的评论:

请记住,cron运行所在的环境与您的用户环境具有不同的(最小)变量。因此,提供python可执行文件的显式路径(通常)是必要的。

可以使用python命令找到默认which python可执行文件的路径。

示例:

$ which python
/home/username/anaconda3/bin/python

然后,在cron中使用:

* * * * * /home/username/anaconda3/bin/python /full/path/to/myscript.py