The cron utility is the default task scheduler used in Linux. Using cron, you can schedule a task (e.g., a command or a shell-script) to run it periodically or one-time at a specific time of hour, day, week, month, etc. The cron tool is useful when you schedule a variety of regular maintenance jobs, such as periodic backup, rotating logs, checking filesystem, monitoring disk space, and so on.
Add a Cron Job from the Command Line
To add a cron job, you can use a command-line tool called crontab.
Type the following command to create a new cron job to run as the current user.
If you want a cron job to run as any other user, type the following command instead.
You will be presented with a text editor window, where you can add or edit cron jobs. By default, nano editor will be used.
Each cron job is formatted as follows.
<minute> <hour> <day-of-month> <month-of-year> <day-of-week> <command>
The first five elements specify the schedule for a task, and the last element is the (full-path) command or script to execute according to the schedule.
Here are a few useful cron job examples.
- * * * * * /home/dan/bin/script.sh: run every minute.
- 0 * * * * /home/dan/bin/script.sh: run every hour.
- 0 0 * * * /home/dan/bin/script.sh: run at 12am daily.
- 0 9,18 * * * /home/dan/bin/script.sh: run at 9AM and 6PM twice a day.
- 0 9-18 * * * /home/dan/bin/script.sh: run every hour from 9AM and 6PM.
- 0 9-18 * * 1-5 /home/dan/bin/script.sh: run every hour from 9AM and 6PM every weekday.
- */10 * * * * /home/dan/bin/script.sh: run every 10 minutes.
Once you are done with setting up cron job(s), press Ctrl+X to save and quit the editor. At this point, newly added cron jobs should be activated.
To browse existing cron jobs of yours, use the following command:
Add a Cron Job from GUI
If you are in Linux desktop environment, you can use a GUI fronend for crontab to add or edit a cron job via a more user-friendly interface.
On GNOME desktop, there is GNOME Schedule (gnome-schedule package).
On KDE desktop, there is Task Scheduler (kcron package).
Subscribe to Ask Xmodulo
Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.
Did you find this tutorial helpful? Then please be generous and support Xmodulo!