Bird
Raised Fist0
Linux CLIscripting~20 mins

crontab syntax in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Crontab Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the output of this crontab entry?
Given the crontab line below, what time(s) will the command run?

30 2 * * 1 /usr/bin/backup.sh
Linux CLI
30 2 * * 1 /usr/bin/backup.sh
ARuns every Monday at 2:30 AM
BRuns every day at 2:30 AM
CRuns every Monday at 12:30 PM
DRuns every day at 12:30 PM
Attempts:
2 left
💡 Hint
Remember the order: minute, hour, day of month, month, day of week.
💻 Command Output
intermediate
1:30remaining
What does this crontab entry do?
What is the effect of this crontab line?

0 */4 * * * /usr/bin/cleanup.sh
Linux CLI
0 */4 * * * /usr/bin/cleanup.sh
ARuns every 4 hours at the start of the hour
BRuns every 4 minutes
CRuns every 4 days at midnight
DRuns every day at 4 AM
Attempts:
2 left
💡 Hint
The hour field uses '*/4' which means every 4 hours.
📝 Syntax
advanced
2:00remaining
Which crontab entry runs a command every weekday at 6:15 PM?
Select the correct crontab line to run a script at 6:15 PM Monday through Friday.
A15 6 * * 1-5 /usr/bin/script.sh
B18 15 * * 1-5 /usr/bin/script.sh
C15 18 * * 1-5 /usr/bin/script.sh
D15 18 * * 0-6 /usr/bin/script.sh
Attempts:
2 left
💡 Hint
Remember the order: minute, hour, day of month, month, day of week.
🔧 Debug
advanced
2:00remaining
Why does this crontab entry not run at midnight as expected?
A user wants to run a script at midnight every day but wrote:

0 24 * * * /usr/bin/midnight.sh

What is the problem?
AMinute field cannot be 0
BHour field '24' is invalid; valid range is 0-23
CDay of month field is missing
DCommand path is incorrect
Attempts:
2 left
💡 Hint
Check the valid ranges for hour in crontab.
🚀 Application
expert
3:00remaining
How many times will this crontab entry run in a week?
Given this crontab line:

*/15 9-17 * * 1-5 /usr/bin/task.sh

How many times does the command run in one week?
A240 times
B200 times
C160 times
D180 times
Attempts:
2 left
💡 Hint
Calculate runs per hour, hours per day, and days per week.

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