Bird
Raised Fist0
Linux CLIscripting~5 mins

Editing crontab (crontab -e) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you want your computer to do tasks automatically at certain times. Editing the crontab lets you schedule these tasks easily so they run by themselves without you having to start them.
When you want to run a backup script every night at 2 AM without remembering to start it.
When you need to send a report email every Monday morning automatically.
When you want to clear temporary files every hour to save disk space.
When you want to check system health every day and log the results.
When you want to restart a service automatically if it stops working.
Commands
This command opens your personal crontab file in the default text editor so you can add or change scheduled tasks.
Terminal
crontab -e
Expected OutputExpected
no output; opens the editor
→
-e - Edit the current user's crontab file
After editing, this command lists all your scheduled tasks to confirm your changes were saved.
Terminal
crontab -l
Expected OutputExpected
0 2 * * * /home/user/backup.sh 30 9 * * 1 /home/user/send_report.sh
→
-l - List the current user's crontab entries
Key Concept

If you remember nothing else from this pattern, remember: use 'crontab -e' to safely edit your scheduled tasks and 'crontab -l' to check them.

Common Mistakes
Editing the crontab file directly without using 'crontab -e'
Directly editing system files can cause syntax errors or permission issues, and changes may not be applied.
Always use 'crontab -e' to edit your crontab safely.
Not saving the file properly after editing in the editor
If you don't save and exit correctly, your changes won't be applied and the scheduled tasks won't run.
Make sure to save and exit the editor properly (for example, in nano use Ctrl+O then Ctrl+X).
Writing incorrect time syntax in the crontab entries
Incorrect syntax causes the task not to run or run at wrong times.
Use the correct format: minute hour day month weekday command (e.g., '0 2 * * * /path/to/script').
Summary
Use 'crontab -e' to open and edit your scheduled tasks safely.
Add tasks using the correct time and command format inside the editor.
Use 'crontab -l' to list and verify your scheduled tasks after editing.

Practice

(1/5)
1. What does the command crontab -e do in Linux?
easy
A. It deletes all cron jobs for the current user.
B. It lists all scheduled cron jobs for all users.
C. It runs the cron daemon immediately.
D. It opens the current user's cron jobs for editing.

Solution

  1. Step 1: Understand the purpose of crontab -e

    This command opens the cron table for the current user in an editor so you can add or change scheduled tasks.
  2. Step 2: Compare with other options

    crontab -l lists jobs, not edits. Deleting or running the daemon are different commands.
  3. Final Answer:

    It opens the current user's cron jobs for editing. -> Option D
  4. Quick Check:

    crontab -e = edit cron jobs [OK]
Hint: Remember: '-e' means edit your cron jobs [OK]
Common Mistakes:
  • Confusing '-e' with '-l' which lists jobs
  • Thinking it deletes cron jobs
  • Assuming it runs cron immediately
2. Which of the following is the correct syntax to schedule a cron job to run every day at 3:30 AM using crontab -e?
easy
A. 30 3 * * * /path/to/script.sh
B. 3 30 * * * /path/to/script.sh
C. * 3 30 * * /path/to/script.sh
D. 30 03 * * /path/to/script.sh

Solution

  1. Step 1: Understand cron time fields order

    The order is: minute hour day-of-month month day-of-week. So 30 3 means 3:30 AM.
  2. Step 2: Check each option

    30 3 * * * /path/to/script.sh correctly uses '30 3' for 3:30 AM daily. 3 30 * * * /path/to/script.sh swaps minute and hour. * 3 30 * * /path/to/script.sh misplaces day and minute. 30 03 * * /path/to/script.sh misses a field.
  3. Final Answer:

    30 3 * * * /path/to/script.sh -> Option A
  4. Quick Check:

    Minute Hour Day Month Weekday = 30 3 * * * [OK]
Hint: Minute comes before hour in cron syntax [OK]
Common Mistakes:
  • Swapping hour and minute fields
  • Missing one of the five time fields
  • Using leading zeros incorrectly
3. After adding this line in crontab -e:
0 0 * * 0 /home/user/backup.sh
What will happen?
medium
A. The script runs every day at midnight.
B. The script runs every Sunday at midnight.
C. The script runs every hour on Sundays.
D. The script runs once a month at midnight.

Solution

  1. Step 1: Decode the cron schedule

    Fields: minute=0, hour=0, day-of-month=*, month=*, day-of-week=0. Day-of-week 0 means Sunday.
  2. Step 2: Interpret the schedule

    The script runs at 00:00 (midnight) on every Sunday.
  3. Final Answer:

    The script runs every Sunday at midnight. -> Option B
  4. Quick Check:

    0 0 * * 0 = Sunday midnight [OK]
Hint: Day-of-week 0 means Sunday in cron [OK]
Common Mistakes:
  • Thinking it runs daily instead of weekly
  • Confusing day-of-month with day-of-week
  • Assuming 0 means Monday
4. You added this line in crontab -e:
60 12 * * * /home/user/script.sh
Why does this cron job not run?
medium
A. Script path must be absolute, this is relative.
B. Hour 12 is invalid; hours range 0-11.
C. Minute value 60 is invalid; minutes range 0-59.
D. Missing day-of-week field causes error.

Solution

  1. Step 1: Check the minute field validity

    Minutes must be between 0 and 59. 60 is invalid and causes cron to ignore the job.
  2. Step 2: Verify other fields

    Hour 12 is valid (means noon). Day-of-week is optional. Script path is absolute.
  3. Final Answer:

    Minute value 60 is invalid; minutes range 0-59. -> Option C
  4. Quick Check:

    Minute must be 0-59, 60 is invalid [OK]
Hint: Minutes max at 59, not 60 [OK]
Common Mistakes:
  • Using 60 as a minute value
  • Confusing 12-hour clock with 24-hour
  • Thinking day-of-week is mandatory
5. You want to run a backup script every weekday at 11:45 PM using crontab -e. Which line correctly schedules this?
hard
A. 45 23 * * 1-5 /home/user/backup.sh
B. 23 45 * * 1-5 /home/user/backup.sh
C. 45 23 * * 0-6 /home/user/backup.sh
D. 45 11 * * 1-5 /home/user/backup.sh

Solution

  1. Step 1: Understand the time and days needed

    11:45 PM is hour 23, minute 45. Weekdays are Monday(1) to Friday(5).
  2. Step 2: Check each option's correctness

    45 23 * * 1-5 /home/user/backup.sh uses '45 23' for 11:45 PM and '1-5' for weekdays correctly. 23 45 * * 1-5 /home/user/backup.sh swaps minute and hour. 45 23 * * 0-6 /home/user/backup.sh runs every day. 45 11 * * 1-5 /home/user/backup.sh uses hour 11 (11 AM) instead of 23.
  3. Final Answer:

    45 23 * * 1-5 /home/user/backup.sh -> Option A
  4. Quick Check:

    Minute Hour Days 1-5 = 45 23 Mon-Fri [OK]
Hint: Hour 23 = 11 PM; weekdays 1-5 [OK]
Common Mistakes:
  • Swapping hour and minute fields
  • Using 11 instead of 23 for PM
  • Using 0-6 instead of 1-5 for weekdays
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard