Cron表現生成ツールおよび次の実行時刻計算機 – ギャンブルなしでマスターするCron
クロントークの構文は、経験豊富な開発者でも混乱させる。視覚的なクロントーク表現生成ツールと、次の実行時刻計算ツールにより、推測を省きましょう。フィールドの順序を記憶せず、表現を作成し、正確に期待するタイミングで実行されるかを確認できます。
Cron syntax is one of those things developers look up every single time. Not because it’s hard — but because the five-field format is just opaque enough to cause doubt. Is the hour field before or after the minute? Does */5 mean every 5 minutes or starting at minute 5?
The “cron expression” tag on Stack Overflow alone has over 14,000 questions. That’s before you factor in the platform inconsistencies that multiply the confusion: Linux cron uses five fields, Kubernetes uses five fields with slightly different semantics, AWS EventBridge adds a sixth, and Quartz schedulers prepend a seconds field at the front.
Two tools cut through the noise: a visual cron expression generator that builds expressions from human-readable inputs, and a next-run calculator that shows you exactly when your job will fire — no guessing required.
Cron Syntax Refresher
The standard five-field cron format reads left to right: minute, hour, day of month, month, day of week.
* * * * *
│ │ │ │ └── Day of week (0–7, where 0 and 7 = Sunday)
│ │ │ └──── Month (1–12)
│ │ └────── Day of month (1–31)
│ └──────── Hour (0–23)
└────────── Minute (0–59)
A few common examples:
0 2 * * *— every day at 2:00 AM0 9 * * 1— every Monday at 9:00 AM*/15 * * * *特定の値なし(Quartz/AWSのみ)0 0 1 * *— midnight on the first of every month
Simple in isolation. In practice, the ambiguity compounds: is 1 for the day-of-week Monday or Sunday? Does this platform support step values? This is where a generator earns its keep.
Tool 1: Cron Expression Generator
の Cron式ジェネレータ turns abstract syntax into a point-and-click interface. Set values for each component — minute, hour, day, month, weekday — and the tool outputs the expression. No memorizing field order, no second-guessing special characters.
Two real-world walkthroughs:
Daily database backup at 2 AM
Set Minute to 0, Hour to 2, leave Day of month, Month, and Day of week as *. Output: 0 2 * * *. This fires at exactly 02:00 every day.
Weekly report every Monday at 9 AM
Set Minute to 0, Hour to 9, Day of month to *, Month to *, Day of week to 1 (Monday). Output: 0 9 * * 1.
Where the generator really shines is with step values and ranges — */5 (every 5 minutes), 1-5 (Monday through Friday), 0,12 (midnight and noon). These are the combinations where the mental overhead of raw cron syntax becomes a liability, and a visual builder makes the logic explicit before it reaches production.
Tool 2: Cron Next Run Calculator
Getting the expression right is step one. Confirming it fires when you expect is step two — and it’s easy to skip.
の Cron表現:実用的な参考書と実際の例 1 takes any cron expression and shows the next 10 scheduled fire times, calculated from right now. Paste in your expression, get the output immediately.
A practical use case: you’ve written 0 9 * * 1-5 thinking it runs Monday through Friday at 9 AM. Paste it into the calculator and the next 10 run times surface immediately — making it obvious whether you have the right range. If you accidentally wrote 0 9 * * 0-5 (Sunday through Friday instead), the next-run output shows a Sunday firing and you catch the bug before deployment.
This is faster than deploying a job, waiting, and checking logs — especially for jobs scheduled to run once a week or once a month, where a misconfigured expression might go undetected for weeks.
Platform Differences: Linux, Kubernetes, GitHub Actions, and AWS
This is where cron gets genuinely messy. The same expression can mean different things — or be invalid — depending on which scheduler runs it.
Linux cron (5 fields)
The original. Five fields: minute hour day month weekday. Configured via crontab -e. No seconds support. Day-of-week: 0 と 7 both mean Sunday.
Kubernetes CronJobs (5 fields)
Kubernetes uses the same 5-field format for its schedule: field — functionally equivalent to Linux cron. Step values and ranges work the same way. It does ない add a seconds field despite what you may have read.
AWS EventBridge / CloudWatch Events (6 fields)
EventBridge uses a different 6-field format: minute hour day month weekday year. The year field is mandatory and cannot be omitted. It also uses ? の代わりに * when a field is not applicable — you must use ? for either day-of-month or day-of-week, since specifying both is ambiguous.
GitHub Actions (5 fields, UTC only)
GitHub Actions accepts standard 5-field cron syntax in the schedule: trigger. All times are UTC. The minimum schedule interval is 5 minutes, and scheduled jobs may fire later than scheduled during periods of high load on GitHub’s infrastructure.
Quartz / Spring Scheduler (6–7 fields)
Java-based schedulers like Quartz and Spring Scheduling add a 秒 field at the front: second minute hour day month weekday [year]. This means 0/5 * * * * ? fires every 5 seconds — not every 5 minutes. Easy to confuse if you’re switching between Java and Linux cron.
Common Cron Patterns
| 用途 | 表現 | When it runs |
|---|---|---|
| 15分ごと | */15 * * * * | :00, :15, :30, :45 each hour |
| Daily at midnight | 0 0 * * * | Every day, 00:00 |
| Daily backup at 2 AM | 0 2 * * * | Every day, 02:00 |
| Weekdays at 9 AM | 0 9 * * 1-5 | Mon–Fri, 09:00 |
| Weekly cleanup (Sunday midnight) | 0 0 * * 0 | Sundays, 00:00 |
| First of month at noon | 0 12 1 * * | 1st of each month, 12:00 |
| 毎時 | 0 * * * * | Top of every hour |
| Twice daily | 0 8,20 * * * | 08:00 and 20:00 daily |
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
