我无法在我的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时,它就在那里。它只是在时机成熟时才执行。我做错了什么?
答案 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所有权限,您必须执行以下操作:
转到系统偏好设置,安全性和隐私权,完整磁盘访问权限 See the image here
添加一个新的See the image here
按“ Command + shift + G” 进入文件夹并粘贴 此“ / usr / sbin / cron ”,搜索cron并单击“打开”。记得检查cron See the image here
如果这不起作用,请尝试赋予可访问性权限:
转到系统偏好设置,安全性和隐私权, 可及性 See the image here
添加一个新的See the image here
按“ Command + shift + G” 进入文件夹并粘贴 此“ / usr / sbin / cron ”,搜索cron并单击“打开”。记得检查cron See the image here
尝试一下,这对我有用,也请记住将权限授予您的终端。