cronとは?
cron(クロン)は、Unix系OS(Linux、macOSなど)で使われるタスクスケジューラです。特定のコマンドやスクリプトを、指定した日時や間隔で自動実行するための仕組みです。繰り返し行いたい作業(バックアップ、ログ整理、定期的な通知など)を自動化できます。
cronでできること(例)
用途 | 例 |
---|---|
バックアップ | 毎日深夜にデータを保存 |
ログ整理 | 毎週日曜に古いログを削除 |
通知の送信 | 毎朝8時にリマインドメールを送信 |
APIの実行 | 毎分APIを呼び出してデータ取得 |
定期バッチ処理 | 定時にスクリプトで画像変換など |
cronの書式(crontab)
cronの設定は crontab
というファイルに書きます。基本の書式は以下の通りです:
* * * * * コマンド
│ │ │ │ │
│ │ │ │ └─ 曜日(0=日〜6=土)
│ │ │ └─── 月(1〜12)
│ │ └───── 日(1〜31)
│ └─────── 時(0〜23)
└───────── 分(0〜59)
例:
0 7 * * * /Users/aaaa/myscript.sh
→ 毎日朝7時に /Users/aaaa/myscript.sh
を実行する
macOSでcronジョブを設定する手順(テスト例)
以下は、1分ごとに「Hello from cron!」というメッセージをログファイルに出力する例です。
1. スクリプトを作成
nano ~/cron_test.sh
以下の内容を貼り付け:
#!/bin/bash
echo "Hello from cron! $(date)" >> ~/cron_output.log
保存して終了後、実行権限を付与:
chmod +x ~/cron_test.sh
2. crontabを編集
crontab -e
次の行を追加:
* * * * * /Users/aaaa/cron_test.sh
3. 動作確認
1分待ってから、以下のログを確認:
cat ~/cron_output.log
"Hello from cron!" のメッセージが出力されていれば成功です。
~ ❯❯❯ cat ~/cron_output.log
Hello from cron! Fri May 2 15:20:01 JST 2025
Hello from cron! Fri May 2 15:21:00 JST 2025
Hello from cron! Fri May 2 15:22:00 JST 2025
Hello from cron! Fri May 2 15:23:00 JST 2025
Hello from cron! Fri May 2 15:24:00 JST 2025
補足:Macでの注意点
- MacのcronはGUIログインセッションとは環境変数(
PATH
など)が異なるため、スクリプト内で明示的にPATH
を設定するのが安全です。
export PATH=/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin
まとめ
cronは、繰り返し実行したい作業を自動化する便利なツールです。スクリプトと組み合わせれば、ログ収集、通知、定期処理など、幅広い業務を効率化できます。macOSでも簡単に利用できるので、ぜひ活用してみてください。