如何让 crontab 在 Raspbian 中正常工作?

How can I get crontab to work properly in Raspbian?

我是 crontab 的新手,我正在努力学习基础知识。我有很多不同的问题。这一切都是在我的 Raspberry Pi 上完成的。我试图在工作日每 10 分钟安排一个 python 脚本到 运行。更棘手的是我的 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. 我收到一条权限被拒绝的错误消息。

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

试试这个:

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