報錯原因是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