python - 努力用 crontab 运行 python 脚本

标签 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 文件,它们似乎都运行良好。 但我只收到来自第一个脚本的电子邮件。

最佳答案

您的记录方法:

* * * * * /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 执行该脚本时发生的情况。

关于python - 努力用 crontab 运行 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51312017/

相关文章:

mysql - laravel4.2 将参数传递给电子邮件 Blade

python - 计算 SHA-1 摘要时 Python 和 C++ 中的不同结果

python - 如何在两个 python 脚本之间相互共享变量?

linux - 为什么 cgroup 的内存子系统在进程允许内存超过 cgroup 限制时使用 oom-killer 而不是返回内存分配失败?

cron - 在cronjob和statefulset中安装PVC

php - Opencart 管理员 Cron 作业

python - 如何修复错误嵌套/未闭合的 HTML 标签?

python - 用于删除空格的正则表达式

linux - linux软引用中的元字符

python - 无法使用 python 3.5 安装 opencv 3.1,仅适用于 2.7