インフラ作業支援ラボInfra Support Lab ← 作業ガイド← 戻る

cron・crontab設定の書き方と安全な登録・確認方法

このページの目的:cron登録前に、時刻・実行ユーザー・実行環境を確認し、ジョブの実行漏れを防ぐ

このページで分かること

  • cron式5項目の意味
  • crontabと/etc/cron.dの違い
  • 問題発生時の案内
  • 安全な設定例とテスト方法

先に結論

cronは時刻が正しくても、実行ユーザー、PATH、相対パス、標準出力・標準エラーの違いで失敗します。登録前に実行ユーザーでコマンドを手動実行し、絶対パスとログ出力先を明示します。

cron設定をすぐ作成・確認する

実行時刻やコマンドを入力して、cron式、ユーザー欄、PATH、確認コマンドをまとめて確認できます。

cron設定ツールを使う

cron式の基本

分 時 日 月 曜日 コマンド * * * * * /path/to/command
位置意味範囲
10〜59
20〜23
31〜31
41〜12
5曜日0〜7(0と7は日曜)

設定例

# 毎日2:30 30 2 * * * /usr/local/bin/backup.sh # 平日の9:00 0 9 * * 1-5 /usr/local/bin/report.sh # 10分ごと */10 * * * * /usr/local/bin/health-check.sh

crontabと/etc/cron.dの違い

場所書式実行ユーザー
crontab -e5項目+コマンドそのcrontabのユーザー
/etc/crontab/etc/cron.d/*5項目+ユーザー+コマンド設定行で指定
よくあるミス: /etc/cron.dの書式をユーザーcrontabへ貼り付けると、ユーザー名がコマンドとして解釈されます。逆に、/etc/cron.dでユーザー欄を省略すると実行されません。

問題発生時の案内

この作業ガイドは、cronを登録する前の時刻・実行ユーザー・実行環境の設計を対象にしています。登録済みのジョブが動かない場合は、実行記録の有無から調査先を分けます。

予定時刻に実行されない場合: cron・crontabが実行されない原因と確認手順で、登録先、時刻、cronサービス、実行記録を順番に確認してください。

cron特有の注意点

安全な設定例

SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin */10 * * * * /usr/bin/flock -n /run/job.lock /usr/local/bin/job.sh >> /var/log/job.log 2>&1
本番前チェック: cronへ登録する前に同じユーザー、同じ引数、同じ出力先で手動実行し、終了コードとログを確認してください。
cronは実行されるがスクリプトが失敗する場合は、実行ユーザー、PATH、相対パス、環境変数、権限を確認します。

cron設定を作成・レビュー

時刻指定、ユーザー欄、PATH、%記号、確認コマンドをまとめてチェックします。

cron設定ツールを開く