【问题标题】:Crontab with python and venv使用 python 和 venv 的 Crontab
【发布时间】:2021-10-04 04:43:51
【问题描述】:

我得到了一份基本的 cron 工作 * * * * * echo "something" > /Users/sam/Desktop/crontest.txt

但现在我正试图让我的使用 venv 的 python 脚本工作,但在尝试了这里对先前问题的几个答案后仍然无法得到它。

我尝试过的主要 2,有语法变化:

  1. Bash 脚本
#!/bin/bash    
source /Users/sam/Desktop/python/venv/bin/activate
python /Users/sam/Desktop/python/py_files/script.py

使用 crontab: 27 8 * * * bash /Users/sam/Desktop/python/venv_wrapper.sh

  1. 全部在 cron 中

27 8 * * * /Users/sam/Desktop/python/venv/bin/python /Users/sam/Desktop/python/py_files/script.py

【问题讨论】:

  • 选项 2 似乎更好。 cron 日志中是否有任何错误?
  • @MauriceMeyer 我无法访问 cron 日志。我尝试添加 > /tmp/cronlog.txt 2>&1 但这似乎没有创建日志文件。
  • cron 是否正常工作?你的 Linux 发行版是什么?
  • Cron 使用 Mac 终端运行。这工作* * * * * echo "something" > /Users/sam/Desktop/vscode/crontest.txt

标签: python bash cron python-venv


【解决方案1】:

在工作中我遇到了同样的问题,并从另一个类似的 cron 作业中发现,要使其正常工作,您必须在命令的开头添加一个“.”。 不知道为什么,但在这台特定的机器上它只能以这种方式工作。

27 8 * * * 。 /Users/sam/Desktop/python/venv/bin/python /Users/sam/Desktop/python/py_files/script.py

【讨论】:

  • 您是否检查过 cron 是否将输出记录到用户的电子邮件中?使用 mail 或 mail-x 进行检查。可能会帮助您了解正在发生的事情。
  • 如何查看我一直想了解的日志。
  • 在我遇到与您 cron 日志以向用户发送电子邮件消息相同的问题的机器上。所以我要做的是运行 mail 或 mail-x 并检查日志。从 cron 的手册页看来,这是默认行为,如果要将日志重定向到 syslog,则必须使用“-s”。
  • 嗯,好的,我找到了邮件,谢谢!所以他们都是这样,不知道该怎么做:X-Original-To: sam Delivered-To: sam@Sams-MacBook-Pro.local From: sam@Sams-MacBook-Pro.local (Cron Daemon)收件人:sam@Sams-MacBook-Pro.local 主题:Cron /Users/sam/Library/heptoic.hn/heptoic.hn cr X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: X-Cron-Env: 日期:Mon, 2 Nov 2020 07:20:01 -0500 (EST) /bin/sh: /tmp/iu.sh: No such file or directory
  • 您打开了其中一封电子邮件吗?您可以通过键入消息编号来打开它们。
猜你喜欢
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 2021-09-13
  • 2019-11-09
  • 1970-01-01
  • 2020-07-02
  • 2018-01-31
  • 2019-12-06
相关资源
最近更新 更多