Mac で Python のプログラムを cron から実行させようとしたところうまくいきません。
症状
crontab の設定内容
crontab の設定は以下の通りです。
0,30 * * * * /Users/{{user}}/.pyenv/shims/python /Users/{{user}}/Desktop/sample.py >> /Users/{{user}}/Desktop/err.log 2>&1
err.log の内容
以下のメッセージが出て処理が失敗していました。
python: can't open file '/Users/{{user}}//Desktop/sample.py': [Errno 1] Operation not permitted
問題点
mac osの「フルディスクアクセス」というセキュリティシステムが影響していたようでした。
回避方法
以下の手順で cron のアクセスを許可します。
- メニューバーの「りんごマーク」->「システム環境設定」
- 「セキュリティとプライバシー」
- 「セキュリティとプライバシー」の「プライバシー」タブ
- 「セキュリティとプライバシー」の「フルディスクアクセス」
- 「セキュリティとプライバシー」の「鍵」マーク
- 「セキュリティとプライバシー」の「+」マーク
- 「+」マークをクリック後「command + shift + G」
- 現れたパス入力欄に「/usr/sbin」と入力し「移動」
- sbinフォルダ内の「cron」ファイルを選択し「開く」
- 「cron」にチェックが付いていることを確認