如何让 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
我真的只是对这里的许多不同步骤感到困惑。摘要:
- 我不知道我是否在 crontab 中正确使用 python 虚拟环境,或者是否有更简洁的方法。
- 不知道有没有更好的方法可以立即测试crontab。将我的 python 脚本中的打印语句写入 txt 文件也不错。
- 我收到一条权限被拒绝的错误消息。
您遇到的错误可能是由于您的 bash 脚本未标记为可执行。您可以使用 chmod
更改访问权限。
试试这个:
chmod +x /home/pi/Desktop/projects/my_project/cron_script.sh
我是 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
我真的只是对这里的许多不同步骤感到困惑。摘要:
- 我不知道我是否在 crontab 中正确使用 python 虚拟环境,或者是否有更简洁的方法。
- 不知道有没有更好的方法可以立即测试crontab。将我的 python 脚本中的打印语句写入 txt 文件也不错。
- 我收到一条权限被拒绝的错误消息。
您遇到的错误可能是由于您的 bash 脚本未标记为可执行。您可以使用 chmod
更改访问权限。
试试这个:
chmod +x /home/pi/Desktop/projects/my_project/cron_script.sh