Run crontab (cron jobs) Every 10 Minutes

Posted on in Categories , , last updated May 3, 2017

How do I run a cron job or a shell script every 10 minutes using Linux / UNIX cron service?

Cron> is a time-based scheduling service in a Linux or Unix-like computer operating systems. Cron job are used to schedule commands to be executed periodically. You can setup commands or scripts, which will repeatedly run at a set time. Cron is one of the most useful tool in Linux or UNIX like operating systems. The cron service (daemon) runs in the background and constantly checks the /etc/crontab file, /etc/cron.*/ directories. It also checks the /var/spool/cron/ directory.

First, Login to UNIX/Linux system.

Type the following command to enter cronjob:
$ crontab -e
Each cronjob has the following syntax:

# +---------------- minute (0 - 59)
# |  +------------- hour (0 - 23)
# |  |  +---------- day of month (1 - 31)
# |  |  |  +------- month (1 - 12)
# |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
# |  |  |  |  |
  *  *  *  *  *  command to be executed

To get crontab to run a task every 10 minutes you could type as follow:
*/10 * * * * /path/to/command
OR
*/10 * * * * /path/to/script
Save and close the file.
Where,

  1. The asterisk (*) operator specifies all possible values for a field. For example, an asterisk in the hour time field would be equivalent to every hour or an asterisk in the month field would be equivalent to every month.
  2. The */10 is used in conjunction with ranges. For example, 0-23/2 can be used in the hours field to specify command execution every other hour. Steps are also permitted after an asterisk, so if you want to say every two hours just use */2. In this example, */10 in the minutes field to specify command execution every 10 minute.
See also
This entry is 13 of 15 in the Linux Cron Jobs Howto & Tutorial series. Keep reading the rest of the series:
  1. What is cron on a Linux or Unix-like systems?
  2. HowTo: Add Jobs To cron Under Linux or UNIX?
  3. Linux Verify crond Daemon And Cronjobs Are Running
  4. Linux Start Restart and Stop The Cron or Crond Service
  5. Linux: List / Display All Cron Jobs
  6. Linux / UNIX Crontab File Location
  7. Linux / UNIX: Change Crontab Email Settings ( MAILTO )
  8. Disable The Mail Alert By Crontab Command On a Linux or Unix-like Systems
  9. Linux: At What Time Cron Entries In cron.daily, cron.weekly, cron.monthly Run?
  10. Linux Execute Cron Job After System Reboot
  11. Linux / UNIX Setup and Run PHP Script As A Cron Job
  12. How to run crontab job every minute on a Linux or Unix-like system
  13. Run crontab (cron jobs) Every 10 Minutes
  14. Cron Job Script Execution on the Last Day of a Month
  15. Run crontab (cron jobs) every 1 minute

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

23 comment

  1. */10 * * * * /home/test.sh > /dev/null 2>&1
    crontab: error on previous line; unexpected character found in line.
    crontab: errors detected in input, no crontab file generated.

    Guess it does not work in Solaris 8

  2. OR

    sudo -i
    cd /etc/cron.d
    touch command
    vi command
    # in command file
    MAILTO=rootmail@foo.bar
    */10 * * * * /path/to/command

    # save command file and exit
    if you do not want to receive a letter then
    MAILTO=””

  3. what if I need to start the script at 3:00 AM exactly and consecutive executions should begin after every 10 mins.
    eg: 3:00 3:10 3:20 etc… lifetime

    But the clause is, it should start exactly at 3:00. I can play in scripts. But is there an option like this in crons?

    1. */10 3,4,5 * * *
      It will be called
      WHEN ( MINUITES DIVIDED BY 10 AND DIVISION REMAINDER EQUALS 0
      AND
      ( HOUR EQUALS 3 ) OR ( HOUR EQUALS 4 ) OR ( HOUR EQUALS 5 ) )

      So it will run at 3.00, 3.10, 3.20, 3.30, 3.40, 3.50, 4.00, 4.10….. 5.50

      1. so can I go like this to start at 3AM and then by 10 mins invokes would this continue around the clock?
        */10 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,1,2 * * *

          1. I think Mannoj wanted a cron job that runs 3:00 AM for the first time and every 10 minutes from 3:00 AM and goes on. But your cron job runs only at 3 to 24 every 10 minutes that is not the answer!

  4. What this post doesn’t explain is why it works. In a crontab, the / symbol means that it will run if the current value can be divided by the following number without a remainder.

    This isn’t important for simple timers like ‘every ten minutes’, but can be very useful when using more advanced calculations.

  5. You see the / option posted all over the net as a shortcut for “every” but I do not believe it is applicable to all systems, for instance I do not believe this will work on AIX.

    Just sayin…

  6. i want to run this script for 30 mins after every 15 mins how can i do that ??

    the below one is doing for 5 min after 1 hour. i want 30 min after 15 mins break

    0 * * * * nohup /home/pi/mmal/motion -n -c /home/pi/mmal/motion-mmalcam.conf 1>/dev/null 2>&1 </dev/null &

    5 * * * * pkill -9 motion

Leave a Comment