努力使用crontab运行python脚本

时间:2018-07-12 18:09:03

标签: python linux cron smtplib

我目前正在处理一些python脚本,涉及将电子邮件和我从网络或API抓取到的信息发送给收件人。

第一个脚本magic_sea.py会在某些位置刮擦magicseaweed以获取波浪高度。第二个使用API​​获取天气数据。

当我键入命令时,这两个脚本都应按预期运行,然后再等待一秒钟 我收到了邮件。

python3 <script.py>

但是当我将它们放在crontab中时,只有第一个运行

* * * * * /usr/bin/python3.5 /path/to/script.py >> crontab_log.txt * * * * * /usr/bin/python3.5 /path/to/second_script.py >> crontab_log.txt

我在两个脚本中都使用了shebang #!/usr/bin/python3.5

查看crontab_log.txt文件,它们似乎都运行良好。 但是我只从最初的脚本中收到电子邮件。

1 个答案:

答案 0 :(得分:2)

您的记录方法:

* * * * * /usr/bin/python3.5 /path/to/script.py >> crontab_log.txt
* * * * * /usr/bin/python3.5 /path/to/second_script.py >> crontab_log.txt

仅将标准输出发送到日志文件,而不发送错误。您可以通过使用2>&1将stderr发送到stdout来解决此问题:

* * * * * /usr/bin/python3.5 /path/to/script.py >> crontab_log.txt 2>&1
* * * * * /usr/bin/python3.5 /path/to/second_script.py >> crontab_log.txt 2>&1

这应该使您能够识别和纠正任何错误。

如果您仍然没有看到所需的内容,请通过脚本2添加所有日志,以查看cron正在执行该操作时发生的情况。