How to Run a Cron Job Every Day on a Linux System

This article will teach you how to schedule a cron job for executing a script, command, or shell script at a particular time every day. As a system administrator, we know the importance of running routine maintenance jobs in the background automatically. The Linux cron utility helps us maintain these jobs to run automatically without manual intervention.

General Syntax of a Cron Job

The cron job format consists of five time fields followed by the command to execute −

MIN HOUR Day_of_Month Month Day_of_Week Command
0-59 0-23 1-31 1-12 0-6 Any Linux command or script
Field Range Description
MIN 0-59 Minutes
HOUR 0-23 Hours (24-hour format)
Day of Month 1-31 Day of the month
Month 1-12 Month (1=January, 12=December)
Day of Week 0-6 Day of week (0=Sunday, 6=Saturday)

Viewing Existing Cron Jobs

To see a list of cron jobs that exist for the current user, run the below command −

crontab -l
no crontab for root

Adding a New Cron Job

To add a new cron job, run the below command −

crontab -e

This opens the cron editor where you can add your scheduled tasks −

no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [2]: 2

Scheduling a Job For Daily Execution

Here are common examples for running jobs every day −

Example 1 − Daily at Specific Time

Execute a log backup script at 11:00 AM every day

00 11 * * * /home/backups/scripts/log_backup.sh

Example 2 − Daily at Midnight

Run a cleanup script at midnight every day

00 00 * * * /usr/local/bin/cleanup.sh

Example 3 − Multiple Times Per Day

Execute a monitoring script at 6 AM, 12 PM, and 6 PM every day

00 06,12,18 * * * /home/scripts/monitor.sh

Common Daily Cron Job Examples

Cron Expression Description
0 2 * * * Every day at 2:00 AM
30 14 * * * Every day at 2:30 PM
0 */6 * * * Every 6 hours (4 times daily)
0 9 * * 1-5 Every weekday at 9:00 AM

Key Points

  • Use * in a field to match any value (every minute, hour, day, etc.)

  • Use comma-separated values for multiple specific times

  • Cron jobs run with the permissions of the user who created them

  • Output is typically emailed to the user unless redirected

  • Always use absolute paths in cron jobs for reliability

Conclusion

Cron jobs provide an efficient way to automate daily tasks on Linux systems. By understanding the cron syntax and using the crontab command, you can schedule scripts and commands to run at specific times every day, ensuring important maintenance tasks happen automatically.

Updated on: 2026-03-17T09:01:38+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements