报错原因是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