How to Schedule a Task in Linux?

Learn via video courses
Topics Covered

Scheduling tasks in a Linux environment is a fundamental skill that can significantly enhance your productivity and efficiency. Whether you want to automate routine maintenance, run backups, or execute scripts at specific times, the built-in scheduling tools in Linux offer powerful capabilities to help you achieve your goals. In this guide, we'll explore two primary methods for scheduling tasks: using the cron command and the at command.

Build an AI-First Career, Master the Complete Skillset

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program
NSDC Certified

AI Forward Deployed Engineer Program

Full-stack engineering, production AI and client-facing consulting

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program

Using "cron" Command

The cron command is a time-based job Linux scheduler that enables users to automate tasks at predetermined intervals. It runs tasks in the background without requiring any user intervention. The term "cron" itself is derived from the Greek word "chronos", meaning time, which aptly describes its purpose. To schedule tasks using cron, follow these steps:

  1. Accessing the Cron Table:
    The cron table is where all Linux scheduled tasks are defined. You can view and edit this table using the crontab command followed by the -e option:
    This will open the cron table in the default text editor (usually vi or nano), allowing you to add or modify Linux scheduled tasks.
  2. Cron Syntax:
    The syntax for scheduling tasks in cron follows a specific pattern:
    The five asterisks represent different time units: minute, hour, day of the month, month, and day of the week. Each asterisk can be replaced with a specific value or a range of values. For instance, to schedule a task every day at 3:30 PM, you would use:
    Similarly, to run a task every Sunday, you would use:
  3. Examples:
    Let's consider a few practical examples to illustrate the versatility of cron:
    • Automated Backups:
      Suppose you want to create a backup of your important files every day at midnight. You can use the following cron entry:
      This command will synchronize the contents of the source directory with the backup directory every day at midnight.
    • Website Maintenance:
      For a web server, you might want to schedule a task to clear temporary files every week on Saturday at 2:30 AM:

Using "at" Command

The "at" command provides another method for scheduling tasks in Linux. Unlike cron, which focuses on periodic scheduling, at is designed for one-time or immediate scheduling. This can be useful when you need to execute a task at a specific time in the future without repeating it. Here's how to use the at command:

  1. Basic Usage:
    To schedule a task using it, follow these steps:
    • Use the at command followed by the time when you want the task to run:
    • Enter the command you want to execute:
      Press <Ctrl+D> to indicate the end of the input. The task will be scheduled and executed at the specified time.
  2. Examples:
    Let's consider a few scenarios where the at command can be useful:
    • Delayed Software Update:
      Suppose you want to install software updates during off-peak hours. You can use the at command to schedule the update for a specific time, such as 3:00 AM:
    • File Deletion:
      You might have a temporary file that you want to delete shortly. With at, you can easily schedule its removal:
Sharpen Your Fundamentals with Free Learning

Conclusion

  • The cron and at commands offer versatile options for automating tasks, whether you need recurring actions or one-time executions.
  • The cron command is a time-based job Linux scheduler that enables users to automate tasks at predetermined intervals.
  • It runs tasks in the background without requiring any user intervention.
  • You can view and edit this table using the crontab command followed by the -e option:
  • Unlike cron, which focuses on periodic scheduling, at is designed for one-time or immediate scheduling.
  • This can be useful when you need to execute a task at a specific time in the future without repeating it.