Skip to content
Cron Expression Generator

Cron expression for every night at 2 AM

The cron expression to run a job every night at 2 AM is:

0 2 * * *

At 2:00 AM.

2 AM is the classic slot for backups and batch jobs, and also the one most exposed to daylight saving time. In the US and most of Europe, 02:00 local time does not exist on the spring-forward day, and in Central Europe the 02:00 hour happens twice in October. Vixie-derived crons (Debian, Ubuntu, cronie) run a skipped job right after the clock jumps and do not repeat fixed-time jobs when an hour repeats, but other schedulers behave differently. The safest fix is to keep the server clock in UTC. Most Arab countries, including Saudi Arabia and the UAE, do not observe DST; Egypt does.

Test and customize this schedule

Format
Valid

5 fields (minute hour day month weekday), or 6 with seconds first. Names like MON-FRI, macros like @daily and full crontab lines work. Press / to focus.

English

At 2:00 AM.

العربية

في تمام الساعة 2:00 ص.

    Quick presets

    Visual cron generator

    Pick options for each field — the expression above updates instantly.

    Next 5 executions

    Local time:

      Cheat sheet

      *
      Any value
      ,
      List — 1,15,30
      -
      Range — 1-5
      /
      Step — */10
      ?
      No specific value (day fields)
      @daily
      Macro for 0 0 * * *

      Field-by-field breakdown

      FieldValueMeaning
      Minute00
      Hour22
      Day of month*Every day of the month
      Month*Every month
      Day of week*Every day of the week

      Copy-paste examples

      Linux crontab

      # crontab -e
      0 2 * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

      Kubernetes CronJob

      apiVersion: batch/v1
      kind: CronJob
      metadata:
        name: my-job
      spec:
        schedule: "0 2 * * *"
        concurrencyPolicy: Forbid
        jobTemplate:
          spec:
            template:
              spec:
                restartPolicy: OnFailure
                containers:
                  - name: my-job
                    image: busybox:1.36
                    command: ["sh", "-c", "date; echo Hello from cron"]

      GitHub Actions

      on:
        schedule:
          - cron: '0 2 * * *'   # always UTC

      GitHub Actions evaluates schedules in UTC, does not accept macros such as @daily, and will not run workflows more often than every 5 minutes; runs can also be delayed during periods of high load.

      Common variations

      Click an expression to load it into the tool above.

      Cron expressionSchedule
      At 2:30 AM.
      At 2:00 AM, Monday through Friday.
      At 2:00 AM, only on Sunday.
      At 1:00 AM.

      Frequently asked questions

      What does 0 2 * * * mean in cron?

      At 2:00 AM. The five fields are minute 0, hour 2, day of month *, month * and day of week *.

      How do I run a cron job every night at 2 AM in Linux?

      Run crontab -e, add the line 0 2 * * * /path/to/command, then save and exit. Use absolute paths, redirect output to a log file, and confirm it runs with grep CRON /var/log/syslog.

      When will 0 2 * * * run next?

      It depends on the current time and the time zone of the machine running cron. The calculator on this page shows the next 5 run times in your local time zone; on a server, cron uses the system time zone, which is often UTC.

      Related cron schedules

      Browse all cron expression examples →