Skip to content
cron.surf

Convert AWS EventBridge cron to GitHub Actions

AWS EventBridge writes cron(min hour dom mon dow year); GitHub Actions writes min hour dom mon dow. Paste an expression to convert it. Anything that does not map exactly is flagged with the reason and a workaround.

“At 00:00, on the last day of the month”

To · GitHub ActionsCan’t convert
  • day of month: GitHub Actions has no “last day of the month”. Months end on the 28th to the 31st, so no single day matches.

    WorkaroundRun on days 28-31 and exit unless tomorrow is the 1st. Needs GNU date; in crontab, % is escaped as \%.
    0 0 28-31 * *  # job: [ "$(date -d tomorrow +%d)" = "01" ] || exit 0
    Not equivalent on its own: it needs a check inside the job.

Same schedule on other platforms

crontabCan’t convert
  • day of month: crontab has no “last day of the month”. Months end on the 28th to the 31st, so no single day matches.

    WorkaroundRun on days 28-31 and exit unless tomorrow is the 1st. Needs GNU date; in crontab, % is escaped as \%.
    0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && /path/to/job
    Not equivalent on its own: it needs a check inside the job.
KubernetesCan’t convert
  • day of month: Kubernetes has no “last day of the month”. Months end on the 28th to the 31st, so no single day matches.

    WorkaroundRun on days 28-31 and exit unless tomorrow is the 1st. Needs GNU date; in crontab, % is escaped as \%.
    0 0 28-31 * *  # job: [ "$(date -d tomorrow +%d)" = "01" ] || exit 0
    Not equivalent on its own: it needs a check inside the job.
SpringExact
0 0 0 L * *
Six fields, seconds first; set zone= or it uses the server zone.
QuartzExact
0 0 0 L * ?
Seconds first, Sunday is 1, one day field must be ?.

Next 10 runs

computed in your browser
  1. Calculating…

AWS EventBridge vs GitHub Actions

AWS EventBridgeGitHub Actions
Fieldscron(min hour dom mon dow year)min hour dom mon dow
Sunday1 (SUN=1 … SAT=7)0
Day and weekday both setone of them must be ?either matches
Special charactersL W # (one #)none
Shortcutsnone; rate() for intervalsnone
Time zoneIANA zone in Scheduler, UTC by defaultUTC, or timezone: per entry
Shortest interval1 minute5 minutes, best effort

Common schedules, converted

AWS EventBridgeGitHub Actions
Every 5 minutescron(0/5 * * * ? *)*/5 * * * *
Every hourcron(0 * * * ? *)0 * * * *
Every minutecron(* * * * ? *)Can’t convert
Every 10 minutescron(0/10 * * * ? *)*/10 * * * *
Every 15 minutescron(0/15 * * * ? *)*/15 * * * *
Every 30 minutescron(0/30 * * * ? *)*/30 * * * *
Daily at midnightcron(0 0 * * ? *)0 0 * * *
Daily at 9 amcron(0 9 * * ? *)0 9 * * *
Weekdays at 9 amcron(0 9 ? * 2-6 *)0 9 * * 1-5
Every Mondaycron(0 0 ? * 2 *)0 0 * * 1
First day of the monthcron(0 0 1 * ? *)0 0 1 * *
Every 6 hourscron(0 0/6 * * ? *)0 */6 * * *
Every Sunday at midnightcron(0 0 ? * 1 *)0 0 * * 0
Every 2 hourscron(0 0/2 * * ? *)0 */2 * * *
Every 12 hourscron(0 0/12 * * ? *)0 */12 * * *
Daily at nooncron(0 12 * * ? *)0 12 * * *
Every Fridaycron(0 0 ? * 6 *)0 0 * * 5
Last day of the monthcron(0 0 L * ? *)Can’t convert
Every quartercron(0 0 1 1/3 ? *)0 0 1 */3 *
Every 2 minutescron(0/2 * * * ? *)Can’t convert
Every 3 hourscron(0 0/3 * * ? *)0 */3 * * *
Daily at 6 amcron(0 6 * * ? *)0 6 * * *
Daily at 6 pmcron(0 18 * * ? *)0 18 * * *
Twice a daycron(0 0/12 * * ? *)0 */12 * * *
Weekdays at 6 pmcron(0 18 ? * 2-6 *)0 18 * * 1-5
Weekends at 10 amcron(0 10 ? * 1,7 *)0 10 * * 0,6
15th of the monthcron(0 0 15 * ? *)0 0 15 * *
First Monday of the monthcron(0 9 ? * 2#1 *)Can’t convert
Last Friday of the monthcron(0 17 ? * 6L *)Can’t convert
Once a yearcron(0 0 1 1 ? *)0 0 1 1 *
Every 3 minutescron(0/3 * * * ? *)Can’t convert
Every 20 minutescron(0/20 * * * ? *)*/20 * * * *
Every 4 hourscron(0 0/4 * * ? *)0 */4 * * *
Every 8 hourscron(0 0/8 * * ? *)0 */8 * * *
Daily at 1 amcron(0 1 * * ? *)0 1 * * *
Daily at 2 amcron(0 2 * * ? *)0 2 * * *
Daily at 3 amcron(0 3 * * ? *)0 3 * * *
Daily at 8 amcron(0 8 * * ? *)0 8 * * *
Every weekdaycron(0 0 ? * 2-6 *)0 0 * * 1-5
Every weekend daycron(0 0 ? * 1,7 *)0 0 * * 0,6
Every Tuesdaycron(0 0 ? * 3 *)0 0 * * 2
Every Wednesdaycron(0 0 ? * 4 *)0 0 * * 3
Every Thursdaycron(0 0 ? * 5 *)0 0 * * 4
Every Saturdaycron(0 0 ? * 7 *)0 0 * * 6
Every 6 monthscron(0 0 1 1/6 ? *)0 0 1 */6 *

FAQ

Can every AWS EventBridge expression be converted to GitHub Actions?

Not all. Of the 45 common schedules on this page, 39 convert exactly. The rest need a workaround, which the converter shows.

How is Sunday written in AWS EventBridge and GitHub Actions?

AWS EventBridge: 1 (SUN=1 … SAT=7). GitHub Actions: 0.

Does the time zone carry over?

The expression has no time zone. AWS EventBridge: IANA zone in Scheduler, UTC by default. GitHub Actions: UTC, or timezone: per entry.