Mac通过crontab设置定时任务报错Operation not permitted

报错原因是cron文件管理器没有执行权限,在隐私里面设置即可

今天写了个shell脚本想用定时任务每半小时执行一次

*/30 * * * * cd /Users/xxxx/Desktop/ && sh test.sh >>crontab.log

结果生成了一个空的crontab.log 文件,原因是>>crontab.log把错误输出在屏幕,正常输出到文件,而执行crontab的时候有错误日志没有打印出来所以看到空文件

crontab -e修改定时任务,把错误日志和正确日志都重定向到crontab.log

*/30 * * * * cd /Users/xxxx/Desktop/ && sh test.sh >>crontab.log 2>&1

然后看到crontab.log有如下报错

sh: test.sh: Operation not permitted

看起来是权限问题,查看了很多文章,最后在Stack Overflow找到解决方案

赋予cron全磁盘访问权限,方法如下

1、系统偏好设置->安全性和隐私->完全磁盘访问权限

 

 

2、解除锁定允许更改,这里需要输入密码

3、单击 +,同时按住command+shift+g,添加usr/sbin下的cron

 

 


————————————————
版权声明:本文为CSDN博主「weixin_41769796」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41769796/article/details/119211060

posted @ 2021-09-06 17:44  乔儿  阅读(665)  评论(0编辑  收藏  举报