【问题标题】:How can I get crontab to work properly in Raspbian?如何让 crontab 在 Raspbian 中正常工作?
【发布时间】:2020-10-06 12:39:47
【问题描述】:

我是 crontab 的新手,我正在努力学习基础知识。我有很多不同的问题。这一切都在我的树莓派上完成。我正在尝试安排一个 python 脚本在工作日每 10 分钟运行一次。让这个更棘手的是我的 python 脚本需要使用虚拟环境。

在做了一些研究之后,我发现我可以使用 bash 脚本激活虚拟环境,然后通过它运行 python 脚本。这是 bash 脚本:

#!/bin/bash

cd /home/pi/Desktop/projects/my_project

source env/bin/activate

python my_script.py

我不知道这是否是通过 crontab 在虚拟环境中运行 python 的最佳方式,但我可以在网上找到它。 这是 crontab 本身的代码:

SHELL=/bin/bash

0-59/10 * * * 1-5  /home/pi/Desktop/projects/my_project/cron_script.sh

我通过在命令行中运行以下代码来测试 crontab 代码:sudo crontab -l | grep -v '^#' | cut -f 6- -d ' ' | while read CMD; do eval $CMD; done。同样,我不知道这是否是立即测试它的最佳方法。这会引发错误消息:

bash: /home/pi/Desktop/projects/my_project/cron_script.sh: Permission denied

我真的只是对这里的许多不同步骤感到困惑。总结:

  1. 我不知道我是否在 crontab 中正确使用了 python 虚拟环境,或者是否有更清洁的方法。
  2. 我不知道是否有更好的方法来立即测试 crontab。将我的 python 脚本中的打印语句写入 txt 文件也很好。
  3. 我收到一条权限被拒绝错误消息。

【问题讨论】:

    标签: python bash cron virtualenv


    【解决方案1】:

    您遇到的错误可能是因为您的 bash 脚本未标记为可执行文件。您可以使用chmod 更改访问权限。

    试试这个:

    chmod +x /home/pi/Desktop/projects/my_project/cron_script.sh
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-15
      • 2017-07-13
      • 1970-01-01
      • 2016-06-15
      • 2014-03-23
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多