macOS 10.15 catalina で crontab を使用する

2019年10月18日

crontab を利用して、一時間おきにとあるシェルスクリプトを実行していた。
 たいしたスクリプトじゃないのだが、最新 OS の 10.15 catalina さんにしたら、なんかうまく動かないのである。

フルディスクアクセスに cron を追加する

30 * * * * /Users/ユーザーネーム/bin/script.sh 2>> error.txt

みたいな、2>> error.txt などと尻尾のほうにつけると、ホームフォルダにエラーログを出してくれる。これを見てみると、ls: .: Operation not permitted とか出てくるわけ。
 not permitted とかいわれてもなぁ、とは思ったが、operation not permitteed でググってみると、どうやら「システム環境設定」>「セキュリティとプライバシー」>「フルディスクアクセス」が関係しているとわかった。

結論としては、そのフルディスクアクセスに/usr/sbin/cronを追加してやればいいらしい。

やり方

やり方は簡単だ。
「システム環境設定」>「セキュリティとプライバシー」>「フルディスクアクセス」へ直行し、左下の南京錠のアイコンをクリック。
 パスワードを入力してロックを外し、[ + ] ボタンをクリックする。

にょきっと出てきたファイル選択のダイヤログで [command] + [shift] + [G] を押すと、フォルダへ移動するボックスがあらわれるので、/usr/sbin/cron と入力すれば cron までたどりつける。

ファインダーで [command] + [shift] + [G] を押し、/usr/sbin/cron を出してからそれをフルディスクアクセスのウィンドウにドロップする、というやり方でもいけると思う。

ためしてみると、今度はちゃんと動く。
 自分で発見した、みたいに書いてるけど、以下の海外の記事のお力を借りております。どうもすみません、ありがとうございます。

🔗 If Any of Your Crontab Tasks No Longer Works on macOS Catalina