Cronとは — あなたの代わりに働く「執事」のような仕組み
Cron(クーロン)は、LinuxなどのUnix系OSで、指定した日時にプログラムを自動実行させるための仕組みです。バックアップの定期作成、不要な一時ファイルの削除、定時メールの配信など、「忘れてはいけないけれど、人間が手動でやるのは非効率な作業」をすべて自動化してくれます。
一度正しく設定すれば、あなたが眠っている深夜3時でも、バカンスを楽しんでいる最中でも、Cronは正確にタスクを遂行します。
Cron設定式(Crontab)の読み解き方
5つの「*」をマスターする
Cronの設定は「5つのフィールド」と「実行するコマンド」で構成されます。
* * * * * 実行するコマンド
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 曜日 (0 - 7)
│ │ │ └─── 月 (1 - 12)
│ │ └───── 日 (1 - 31)
│ └─────── 時 (0 - 23)
└───────── 分 (0 - 59)
具体的な指定例:
30 2 * * 1— 毎週月曜日の午前2時30分に実行0 0 1 * *— 毎月1日の午前0時0分(月初の処理)*/15 * * * *— 15分おきに実行
初心者が必ず遭遇する「動かない!」3つの原因
設定したのに動かない時のチェックリスト
- 「フルパス」で書いているか? —
/usr/bin/python3のように絶対パスで記述する必要があります。 - 環境変数は大丈夫か? — あなたの
$PATHはCronには引き継がれません。 - ログを出力しているか? —
>> /path/to/log 2>&1でエラーを記録しましょう。
管理に役立つコマンド集
設定をいじる際は、以下のコマンドを使います。
crontab -e— 設定を編集する(Edit)crontab -l— 現在の設定を表示する(List)crontab -r— 設定をすべて削除する(Remove)※非常に危険!
現代的な選択肢:Systemd Timers
最近のLinuxでは、Cronよりも高機能な Systemd Timers という仕組みも普及しています。実行に失敗した時のリトライ処理などが可能ですが、依然として「シンプルさ」においてはCronに軍配が上がります。
当サイトのCron設定ジェネレーターを使えば、視覚的な操作でミスのない設定式を生成できます。安全で確実な自動化ライフを送りましょう。
Cronを設定した後は、必ず「1分後」に動くようにテスト設定して、実際にログが出るか確認するのじゃ。それと、
crontab -rの隣にある-eを押し間違えて、設定を全部消してしまうミスもよく聞く話じゃ。バックアップは常に取っておくのじゃぞ!