Cron式クイックスタートガイド - 5分で最初の定時タスクを作成
5分でcron式を作成する方法を学びます。一般的なスケジュールテンプレート付きビジュアルガイド。初心者に最適。
始める準備はできましたか?
今すぐお試しください - 無料、登録不要
必要なもの
- ✓ 基本的なコマンドライン知識
- ✓ Unix/Linuxシステムまたはオンラインツールへのアクセス
- ✓ 時間間隔(分、時間、日)の理解
30秒で理解するCron
- → CronはUnix/Linuxシステムの時間ベースのジョブスケジューラーです
- → シンプルな式フォーマットを使用:5つのフィールド(分、時、日、月、曜日)
- → 例:<code>0 2 * * *</code> = 毎日午前2時に実行
- → Cronジョブは指定された時間/間隔で自動的に実行されます
- → バックアップ、メンテナンス、レポート、自動化に最適
クイックステップ
プリセットを選択するかカスタム式を作成
「毎日深夜」などのスケジュールプリセットから始めるか、各フィールドの値を選択してカスタマイズします。
💡 ヒント: Cron初心者?プリセットから始めてパターンを理解し、その後カスタマイズしましょう。
5つのフィールドを設定
分(0-59)、時(0-23)、日(1-31)、月(1-12)、曜日(0-6)の値を設定します。*は「毎」、特定の数字は特定の時間を表します。
0 2 * * * = 毎日午前2時
0 */6 * * * = 6時間ごと
*/30 * * * * = 30分ごと
💡 ヒント: */Nを使用して「N単位ごと」を表します - 例:*/15は「15分ごと」
式がリアルタイムで更新されるのを確認
選択を行うとcron式が構築されます。フィールド値を変更すると式が自動的に更新されます。
💡 ヒント: 式の任意の部分をクリックしてその機能を確認
次回の実行時間を確認
cronジョブが次回いつ実行されるかを正確に確認できます。次の10回の実行時間を表示します。
💡 ヒント: タイムゾーンに注意 - サーバー時間と一致することを確認
コピーしてデプロイ
満足したら「Cronをコピー」をクリックして、crontabファイル、Kubernetes CronJob、AWS EventBridge、または任意のスケジューリングシステムに貼り付けます。
💡 ヒント: 本番環境にデプロイする前に、手動でcronを一度テスト
一般的なプリセット
毎時
0 * * * * 毎時の00分に実行
使用例: 定期的なデータ同期、ヘルスチェック
毎日深夜0時
0 0 * * * 毎日00:00(深夜0時)に実行
使用例: 毎日のバックアップ、ログローテーション、レポート
毎週月曜午前9時
0 9 * * 1 毎週月曜の午前9時に実行
使用例: 週次レポート、メンテナンスタスク
6時間ごと
0 */6 * * * 6時間ごとに実行(00:00, 06:00, 12:00, 18:00)
使用例: 1日複数回の同期、モニタリング
毎週日曜午前3時
0 3 * * 0 毎週日曜の午前3時に実行
使用例: 週次メンテナンス、クリーンアップ
毎月1日深夜0時
0 0 1 * * 毎月1日の00:00に実行
使用例: 月次レポート、請求サイクル
システムに統合
Linux Crontab
# crontabを編集
crontab -e
# cronジョブを追加
0 2 * * * /path/to/your/script.sh
テスト: crontab -l (すべてのcronジョブを一覧表示)
Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: backup
spec:
schedule: "0 2 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup
image: backup-image:latest
Kubernetesクラスターでスケジュールジョブを作成
AWS EventBridge
# EventBridgeルール
Rate式: rate(24 hours)
# またはcron式: cron(0 2 * * ? *)
AWSクラウドでのサーバーレススケジューリング
避けるべき一般的な間違い
タイムゾーンの間違い
✓ 解決策: CronはデフォルトでUTCを使用。ローカル時刻をUTCに変換するか、crontabでTZ=Asia/Tokyoを設定してください。
構文エラー
✓ 解決策: 各フィールドはスペースで区切る必要があります。*は「毎」、カンマは複数の値を表します。
出力/ログがない
✓ 解決策: 常に出力をリダイレクト:0 2 * * * /script.sh > /var/log/cron.log 2>&1