ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

mac で cron を使おうとしたら「[Errno 1] Operation not permitted」というエラーが出てしまっとときの対応

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」にチェックが付いていることを確認

f:id:a1026302:20220118220054p:plain