見出し画像

【Mac】cronでツールを定期実行する設定手順まとめ

この記事で分かること

Macで作成済みのツールを、毎日決まった時間に自動で実行するための設定手順をまとめました。

たとえば、

  • 毎朝8時にデータ取得ツールを自動実行したい

  • 毎日決まった時間にメール送信ツールを動かしたい

  • 手動でツールを起動する手間を減らしたい

  • Mac上で定期実行の設定をしたい

といった場合は、この記事の内容を実施することで、cronを使ってツールを自動実行できるようになります。

今回は、Macに標準で用意されている「cron」を使って、指定した時間にツールを起動する方法を紹介します。

※Macがスリープ中・シャットダウン中の場合は、cronが実行されない場合があります。定期実行したい時間帯は、Macが起動している状態にしておく必要があります。


1. ターミナルを開く

まずはMacで「ターミナル」を開きます。

ターミナルは、以下の方法で開くことができます。

  • Launchpadから「ターミナル」を検索

  • Spotlight検索で「ターミナル」と入力

  • Finderの「アプリケーション」→「ユーティリティ」→「ターミナル」

ターミナルを開いたら、cronの設定を行っていきます。


2. cronを使う前の事前設定を行う

cronでツールを自動実行する前に、Mac側で権限設定を行う必要があります。

具体的には、cronに「フルディスクアクセス」の権限を付与します。

この設定をしていない場合、cronからツールを起動しようとしても、権限不足でうまく実行されない場合があります。

設定手順は以下の通りです。

フルディスクアクセスの設定手順

1. Macの「システム設定」を開く
2. 「プライバシーとセキュリティ」を開く
3. 「フルディスクアクセス」を開く

4. 「+」ボタンをクリック

5. shift + command + G を押す

6. パス入力欄に下記を入力する

/usr/sbin/cron

7. 表示された cron を選択して追加する

8. フルディスクアクセスで cron が有効になっていることを確認する

これで、cronがMac内のファイルにアクセスできるようになります。


3. crontabの設定画面を開く

次に、cronの設定画面を開きます。

ターミナルに下記コマンドを入力して、Enterを押してください。

crontab -e

入力すると、cronの設定画面が開きます。

初めて開く場合、少し見慣れない画面が表示されるかもしれませんが、問題ありません。


4. 定期実行するコマンドを入力する

cronの設定画面が開いたら、まず i キーを押します。

i キーを押すことで、文字を入力できる状態になります。

その後、下記のように設定を入力します。

LANG=ja_JP.UTF-8
0 8 * * * /Users/ユーザー名/Desktop/フォルダ名/ツール名/scrape_data

上記は、毎日8時00分に scrape_data というツールを実行する設定です。

実際には、下記の部分を自分の環境に合わせて変更してください。

/Users/ユーザー名/Desktop/フォルダ名/ツール名/scrape_data

ファイルパスは、ターミナル上にファイルをドラッグ&ドロップすることで入力できます。

手入力するとパスの入力ミスが起きやすいため、基本的にはドラッグ&ドロップで入力するのがおすすめです。


5. cronの時間指定について

今回の設定例はこちらです。

0 8 * * *

これは「毎日8時00分に実行する」という意味です。

cronの時間指定は、左から順番に以下の意味になります。

分 時 日 月 曜日

今回の例では、

0 8 * * *

となっているため、

  • 分:0分

  • 時:8時

  • 日:毎日

  • 月:毎月

  • 曜日:毎曜日

という指定になります。

そのため、毎日8時00分にツールが実行されます。


6. 入力内容を保存する

設定を入力できたら、以下の手順で保存します。

  1. esc キーを押す

  2. :wq と入力する

  3. Enterを押す

これでcronの設定が保存されます。

設定が保存されると、ターミナルの通常画面に戻ります。


補足:うまく実行されない場合

設定した時間になってもツールが動かない場合は、以下を確認してみてください。

Macがスリープしていないか

Macがスリープ中の場合、cronが実行されない場合があります。

定期実行したい時間帯は、Macが起動している状態にしてください。

ファイルパスが正しいか

cronでは、実行するファイルをフルパスで指定する必要があります。

パスに誤りがあると実行されないため、ファイルをドラッグ&ドロップして入力するのがおすすめです。

フルディスクアクセスが設定されているか

/usr/sbin/cron がフルディスクアクセスに追加されているか確認してください。

権限が不足している場合、cronからツールを起動できない場合があります。

実行ファイルに権限があるか

実行ファイルに実行権限がない場合、cronから起動できないことがあります。

その場合は、必要に応じて実行権限の付与を行ってください。


関連記事

▼ 【自動実行】Windowsタスクスケジューラで「Python / bat」を毎日自動実行する方法

▼ 【Mac】「“xxxx”は開いていません」と表示されたときの対処方法(“このまま開く”の手順)

▼ 【ご報告】ココナラの販売実績が1000件を超えました!

▼ 【自己紹介】20代|本業×副業|カフェで“できる風”を装いがちです(笑)


ご相談について

もし「毎日決まった時間にツールを自動実行したい」「スクレイピング結果を自動で取得したい」「取得したデータをExcelやスプレッドシートへ反映したい」といったご要望があれば、ココナラでもご相談を受け付けています。

Python / GAS を利用したスクレイピング・ブラウザ操作・API連携・通知連携など、日々の定型作業を効率化するツールを作成しています。

興味がありましたらご相談ください。

Webスクレイピング・データ収集ツールを作成します

ブラウザ操作・API連携の自動化を行います

ご相談・お見積もりはプロフィールから

いいなと思ったら応援しよう!