【发布时间】: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
我真的只是对这里的许多不同步骤感到困惑。总结:
- 我不知道我是否在 crontab 中正确使用了 python 虚拟环境,或者是否有更清洁的方法。
- 我不知道是否有更好的方法来立即测试 crontab。将我的 python 脚本中的打印语句写入 txt 文件也很好。
- 我收到一条权限被拒绝错误消息。
【问题讨论】:
标签: python bash cron virtualenv