努力使用 crontab 运行 python 脚本

struggle to run python script with crontab

我目前正在编写一些 python 脚本,这些脚本涉及向收件人发送电子邮件,其中包含我从网上或通过 API 抓取的信息。

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

两个脚本 运行 当我输入命令时它们应该是这样,一秒钟后 我收到了意向邮件。

python3 <script.py>

但是只有第一个 运行s 当我像这样把它们放在 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 文件,它们似乎 运行 都很好。 但是我只收到第一个脚本的邮件。

您的记录方法:

* * * * * /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 执行时发生了什么。