Cron expression: difference between 0/1, 1/1 and *

In a cron expression, what is the difference between 0/1, 1/1 and * ?


Solution 1:

It depends on where the terms are located

  • 0/1 means starting at 0 every 1.
  • 1/1 means starting at 1 every 1.
  • * means all possible values.

so

  • For the minutes, hours, and day of week columns the 0/1 and * are equivalent as these are 0 based.

  • For the Day Of Month and Month columns 1/1 and * are equivalent as these are 1 based.

Solution 2:

In crontab definition, the meaning of the five date/time fields are :

  1. At which minutes of the hour (so from 0 to 59)
  2. At which hour of the day (so from 0 to 23)
  3. At which day of the month (so from 1 to 31)
  4. At which month of the year (so from 1 to 12 or names - Jan, Feb, ...)
  5. At which day of the week (so from 0 to 6 or names - Sun, Mon, ...)

A * means from the first to the last element of the range. A n/x means starting at n, at every x values.

In your case, this can be translated by :

  1. At minutes 0
  2. Starting at midnight, every hour (which is similar to *)
  3. Each day of the month
  4. Starting the first month (January), every month (which is similar to *)
  5. Each day of the week (for the first *)

The end looks incorrect (? *) as it is in the place of the command. Or in the place of the username & command if taken from a file under /etc/cron.d/ and not from the crontab of a specific user.