close
今天想要在 Mac 上設定排程執行任務
使用 crontab 一直無法順利完成
後來就把 Error Message 印出來看
方法是在 crontab 後面加上要輸出的檔案還有"2>&1",如下:
0 0 * * * fix_invalid_photos.sh >> fixlog.txt 2>&1
查看 fixlog.txt 之後
發現 python 執行的時候報錯誤
[Error1] Operation not permitted
看到這個 msg 的第一個想法就是
確認 sh、py 的執行權限
發現沒 x 權限
用指令來開啟,777部份可依情況調整
chmod 777 fix_failed_photo.py
不過權限全開之後不論有沒有在指令中使用 sudo
都還是會遇到同樣的問題
所以我又找到了另一個原因
那就是 cron 沒有取用磁碟的權限
我們自已嘗試 sh 的時候,執行者是我們自己的帳戶
但 cron 跑 sh 的時候,確是沒有執行權限的
導致這個問題的發生
那該如何設定呢?
我們可以到 Mac 的系統偏好設定中 >> 安全性與隱私權 >> 完全取用磁碟
解開鎖頭後,按下 + 鈕
選擇 cron 程式即可給予權限
cron 的位置在 /usr/sbin/cron
可以按 command+shift+G 來開啟輸入框
做完這件事之後,cron 就可以正常讀取 py 檔囉
END
資料來源:
https://blog.bejarano.io/fixing-cron-jobs-in-mojave/
文章標籤
全站熱搜
留言列表