83

I have the cron job as shown below, and wanted it to run every 2 hours, but it keeps running every 2 minutes.

Can someone tell me where I'm going wrong?

  
* */2 * * * /path-to-script
Helen
  • 963
  • 1
  • 6
  • 7

4 Answers4

150

An asterisk in the minute (first) field tells it to run every minute, regardless of the other fields.

You need to specify an exact minute to run within the hour. Be that on the hour (0), half past (30), etc..

0 */2 * * * /path-to-script
Dan Carley
  • 25,189
  • 5
  • 52
  • 70
15

The correct description of what you had

 * */2 * * * /path-to-script

is "run every minute where the hour is a multiple of 2".

Which means 00:00 to 00:59, 02:00 to 02:59, 04:00 to 04:59, ... and so on. Not quite the same as "run every minute". The solution already given is valid though.

scentos
  • 151
  • 1
  • 2
15

Off the top of my head, you could try specifying all the hours when it should run:

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path-to-script
kapa
  • 103
  • 4
1

Also you can do this:

0 0-23/2 * * * /path/to/the/script

or if you want to be more specific on every 2 hours, you can use:

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path/to/the/script

The hours values should be separated by commas.