Bird
Raised Fist0
Linux CLIscripting

crontab syntax in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the crontab command in Linux?
The crontab command is used to schedule tasks (called cron jobs) to run automatically at specified times or intervals.
Click to reveal answer
beginner
In crontab syntax, what does the asterisk (*) symbol mean?
The asterisk (*) means "every" possible value for that time field. For example, * in the minute field means every minute.
Click to reveal answer
beginner
Explain the five time fields in a crontab entry.
The five time fields are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-7, where 0 and 7 both mean Sunday). They define when the command runs.
Click to reveal answer
intermediate
How do you schedule a cron job to run every 5 minutes?
Use */5 in the minute field, like: */5 * * * *. This means every 5 minutes, every hour, every day, every month, every weekday.
Click to reveal answer
intermediate
What does this crontab line do?
0 0 1 * * /home/user/backup.sh
It runs the script /home/user/backup.sh at midnight (00:00) on the first day of every month.
Click to reveal answer
What does the following crontab time field mean?
30 14 * * *
ARun at 14:30 on the first day of every month
BRun every 30 minutes starting at 2 PM
CRun every minute between 2 PM and 3 PM
DRun at 2:30 PM every day
Which symbol in crontab means 'every' value for a time field?
A#
B*
C/
D-
How do you specify a cron job to run only on Sundays?
ABoth A and B
B* * * * 7
C* * * * 1
D* * * * 0
What does this crontab entry do?
15 10 * * 1-5 /usr/bin/script.sh
ARuns script.sh at 10:15 AM Monday to Friday
BRuns script.sh at 10:15 AM every day
CRuns script.sh every minute from 10:00 to 10:15 on weekdays
DRuns script.sh at 10:15 AM on weekends
Which crontab field controls the month when a job runs?
AFirst field
BSecond field
CFourth field
DFifth field
Describe the structure of a crontab entry and what each time field means.
Think about the order and range of each time field.
You got /6 concepts.
    Explain how to schedule a cron job to run every day at 6:30 AM.
    Use exact numbers for hour and minute, wildcards for others.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the asterisk (*) symbol mean in a crontab time field like * * * * *?
      easy
      A. It means 'run only on weekends'
      B. It means 'no value' or 'skip this field'
      C. It means 'only once at midnight'
      D. It means 'every' possible value for that field

      Solution

      1. Step 1: Understand the asterisk in crontab

        The asterisk (*) in crontab means to match every possible value for that time field, like every minute or every hour.
      2. Step 2: Apply to the example

        In * * * * *, each asterisk means every minute, every hour, every day, every month, and every weekday.
      3. Final Answer:

        It means 'every' possible value for that field -> Option D
      4. Quick Check:

        Asterisk = every value [OK]
      Hint: Asterisk means 'every' in crontab fields [OK]
      Common Mistakes:
      • Thinking * means 'no value' or skip
      • Confusing * with specific times
      • Assuming * means only weekends
      2. Which of the following is the correct crontab syntax to run a script every day at 3:30 AM?
      easy
      A. 30 3 * * * /path/to/script.sh
      B. 3 30 * * * /path/to/script.sh
      C. * 3 30 * * /path/to/script.sh
      D. 30 * 3 * * /path/to/script.sh

      Solution

      1. Step 1: Understand crontab field order

        The fields are: minute, hour, day of month, month, day of week.
      2. Step 2: Match time 3:30 AM

        3:30 AM means minute=30, hour=3, so the first two fields must be 30 and 3 respectively.
      3. Final Answer:

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

        Minute=30, Hour=3 correct [OK]
      Hint: Minute is first, hour second in crontab [OK]
      Common Mistakes:
      • Swapping hour and minute fields
      • Using day or month fields incorrectly
      • Misplacing asterisks
      3. Given the crontab entry 15 14 1 * * running /usr/bin/backup.sh, when will the script run?
      medium
      A. At 2:15 PM on the first day of every month
      B. At 2:15 AM on the first day of every month
      C. At 2:15 PM every day
      D. At 2:15 AM every Monday

      Solution

      1. Step 1: Decode the crontab fields

        Fields: minute=15, hour=14 (2 PM), day=1, month=*, weekday=* (any day).
      2. Step 2: Interpret the schedule

        The script runs at 14:15 (2:15 PM) on the 1st day of every month, regardless of weekday.
      3. Final Answer:

        At 2:15 PM on the first day of every month -> Option A
      4. Quick Check:

        Hour=14 means 2 PM, day=1 means first day [OK]
      Hint: Hour is 24-hour format; 14 means 2 PM [OK]
      Common Mistakes:
      • Confusing 14 as 2 AM instead of 2 PM
      • Ignoring day of month field
      • Assuming runs every day
      4. Identify the error in this crontab entry: 60 12 * * 1 /usr/bin/script.sh
      medium
      A. Day of week cannot be 1; must be 0 or 7 for Monday
      B. Hour field cannot be 12; valid range is 0-11
      C. Minute field cannot be 60; valid range is 0-59
      D. Command path is invalid; must be absolute path

      Solution

      1. Step 1: Check minute field range

        Minute field must be between 0 and 59. 60 is invalid.
      2. Step 2: Verify other fields

        Hour=12 is valid (12 PM), day of week=1 is valid (Monday), command path looks absolute.
      3. Final Answer:

        Minute field cannot be 60; valid range is 0-59 -> Option C
      4. Quick Check:

        Minute max is 59, 60 is invalid [OK]
      Hint: Minute max is 59, not 60 [OK]
      Common Mistakes:
      • Using 60 in minute field
      • Confusing hour ranges
      • Misunderstanding day of week numbers
      5. You want to schedule a cleanup script to run every Monday and Friday at 11:45 PM. Which crontab entry is correct?
      hard
      A. 23 45 * * 1,5 /usr/local/bin/cleanup.sh
      B. 45 23 * * 1,5 /usr/local/bin/cleanup.sh
      C. 45 11 * * 1,5 /usr/local/bin/cleanup.sh
      D. 45 23 1,5 * * /usr/local/bin/cleanup.sh

      Solution

      1. Step 1: Understand time and day fields

        11:45 PM means hour=23, minute=45. Monday=1, Friday=5 in day of week field.
      2. Step 2: Match fields to crontab syntax

        Minute=45, hour=23, day of month=*, month=*, day of week=1,5 means Monday and Friday.
      3. Final Answer:

        45 23 * * 1,5 /usr/local/bin/cleanup.sh -> Option B
      4. Quick Check:

        Minute=45, Hour=23, Days=1,5 correct [OK]
      Hint: Day of week uses numbers; Monday=1, Friday=5 [OK]
      Common Mistakes:
      • Swapping hour and minute
      • Using day of month instead of day of week
      • Wrong day numbers 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