How To Use Crontab To Schedule And Manage Tasks

Vikash Anand Singh
2 min readSep 30, 2023

--

Crontab is a command in Unix-like operating systems that allows you to schedule and automate tasks at specified intervals. It’s a powerful tool for automating repetitive tasks, such as backups, data synchronization, or script execution. Here’s how to schedule and manage tasks using crontab:

1. Accessing Crontab

You can access crontab by opening your terminal or command prompt. Use the following command to edit your user-specific crontab file:

crontab -e

2. Crontab Syntax

Crontab uses a specific syntax to define when and how often a task should run. The syntax is as follows:

* * * * * command_to_be_executed
- - - - -
| | | | |
| | | | +----- Day of the week (0 - 7) (Sunday is both 0 and 7)
| | | +------- Month (1 - 12)
| | +--------- Day of the month (1 - 31)
| +----------- Hour (0 - 23)
+------------- Minute (0 - 59)

Each field represents a time unit, and you can use * to indicate "every" for a particular field.

3. Scheduling Tasks

Let’s look at some common examples:

  • To run a script every day at midnight:
0 0 * * * /path/to/script.sh
  • To run a script every hour:
0 * * * * /path/to/script.sh
  • To run a script every Monday at 3:30 PM:
30 15 * * 1 /path/to/script.sh

4. Editing and Saving

After you’ve added your scheduled task, press Ctrl + O to save the changes and then Enter. To exit, press Ctrl + X.

5. Listing Crontab Entries

To list your current crontab entries, use the following command:

crontab -l

This command displays all the scheduled tasks for your user.

6. Removing Tasks

To remove a specific task from your crontab, use the -r flag followed by the line number of the task you want to remove:

crontab -l
# Identify the line number of the task to remove
crontab -r <line_number>

7. Common Crontab Tips

  • Use absolute paths for your scripts and commands to avoid issues with relative paths.
  • Redirect the output (e.g., stdout and stderr) of your commands to log files to capture any errors or output generated by the scheduled tasks.
  • Be cautious when scheduling tasks with elevated privileges, as they can impact system stability.

8. Logging

By default, crontab sends the output of scheduled tasks to your email. You can specify where the output should be sent by adding the following line at the top of your crontab:

MAILTO="your_email@example.com"

This will ensure that you receive email notifications with the output of your tasks.

That’s a basic overview of scheduling and managing tasks using crontab. It’s a versatile tool that can save you time and effort by automating routine tasks on your system.

--

--

Vikash Anand Singh

Test Lead | QA Enthusiast | Driving Quality Excellence @ DXC Technology