Cronjob Python3 Mac没有执行

时间:2017-08-24 03:40:12

标签: macos cron python-3.6

我无法在我的Mac上执行cronjob。我有以下cronjob线:

30 05 * * 1-5 usr/bin/python3 /Users/MyMac/Desktop/hello_world.py

哪个应该将helloworld写入txt文件。直接从终端执行时,这非常有效。我使用env EDITOR=nano crontab -e将此行插入crontab文件,退出,它显示crontab: installing new crontab,当用crontab -l查看crontabs时,它就在那里。它只是在时机成熟时才执行。我做错了什么?

2 个答案:

答案 0 :(得分:1)

我和你一样有同样的问题,正如我在原帖中评论的那样,但现在我已经解决了。

Python3实际上并不位于usr / bin / Python3中,这就是为什么你不能让它工作的原因。终端不会像crontab那样运行相同的环境变量,这意味着即使你的python3路径错误,它仍然会设法从终端运行脚本,因为你的用户配置文件已经设置了正确的环境变量。 crontab没有这些变量,所以它找到你的脚本,尝试运行它但却找不到python3,因此无法编译和运行脚本。 Python3位于/usr/local/bin/python3

30 05 * * 1-5 /usr/local/bin/python3 /Users/MyMac/Desktop/hello_world.py

试试这个,这适合我。我还建议测试一个名为CronniX的软件。它允许您编辑crontab文件而无需使用有助于吨的终端。您还可以立即从软件中测试脚本,以便更容易查看它是否有效(如果有效,脚本应该立即运行,无论为其设置什么时间表)。

答案 1 :(得分:1)

我也遇到了同样的问题,我的crontab无法正常工作的错误之一是python3的路径 在我的情况下,路径为:/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

30 10 * * 6 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Users/myMac/Desktop/main.py

另一个无法解决的问题是权限,要授予cron所有权限,您必须执行以下操作:

  1. 转到系统偏好设置,安全性和隐私权,完整磁盘访问权限 See the image here

  2. 添加一个新的See the image here

  3. “ Command + shift + G” 进入文件夹并粘贴 此“ / usr / sbin / cron ”,搜索cron并单击“打开”。记得检查cron See the image here


如果这不起作用,请尝试赋予可访问性权限:

  1. 转到系统偏好设置,安全性和隐私权, 可及性 See the image here

  2. 添加一个新的See the image here

  3. “ Command + shift + G” 进入文件夹并粘贴 此“ / usr / sbin / cron ”,搜索cron并单击“打开”。记得检查cron See the image here

尝试一下,这对我有用,也请记住将权限授予您的终端。