0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0117(2025/05/02)cronとは

Posted at

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でも簡単に利用できるので、ぜひ活用してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?