Bird
Raised Fist0
Linux CLIscripting~5 mins

Common cron expressions in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Common cron expressions
O(n)
Understanding Time Complexity

We want to understand how the time it takes to run cron jobs grows as we schedule more tasks or more frequent jobs.

How does the number of cron expressions affect the system's work over time?

Scenario Under Consideration

Analyze the time complexity of checking and running cron jobs with these expressions.


* * * * * /path/to/script1.sh
0 * * * * /path/to/script2.sh
0 0 * * * /path/to/script3.sh
*/15 * * * * /path/to/script4.sh
0 0 1 * * /path/to/script5.sh
    

This snippet shows common cron expressions that schedule scripts at different intervals: every minute, hourly, daily, every 15 minutes, and monthly.

Identify Repeating Operations

Each cron expression causes the system to check if it should run a job at each minute.

  • Primary operation: Checking each cron expression every minute.
  • How many times: Once per minute for each expression.
How Execution Grows With Input

As the number of cron expressions (n) grows, the system checks each one every minute.

Input Size (n)Approx. Checks per hour
10600
1006000
100060000

Pattern observation: The number of checks grows directly with the number of cron expressions.

Final Time Complexity

Time Complexity: O(n)

This means the work grows linearly with the number of cron expressions to check each minute.

Common Mistake

[X] Wrong: "Cron jobs run only when scheduled, so adding more jobs doesn't increase checking work."

[OK] Correct: The system checks all cron expressions every minute to decide which jobs to run, so more jobs mean more checks.

Interview Connect

Understanding how scheduled tasks scale helps you design systems that stay efficient as they grow. This skill shows you can think about system workload over time.

Self-Check

What if cron expressions were grouped and checked in batches instead of individually? How would the time complexity change?

Practice

(1/5)
1. What does the cron expression 0 0 * * * do?
easy
A. Runs a task every minute
B. Runs a task every hour
C. Runs a task every day at midnight
D. Runs a task every Sunday at midnight

Solution

  1. Step 1: Understand the cron fields

    The expression has five fields: minute=0, hour=0, day=*, month=*, weekday=*. This means minute 0, hour 0, every day, every month, every weekday.
  2. Step 2: Interpret the schedule

    Since minute and hour are fixed at 0, and others are '*', the task runs once daily at 00:00 (midnight).
  3. Final Answer:

    Runs a task every day at midnight -> Option C
  4. Quick Check:

    0 0 * * * = daily at midnight [OK]
Hint: Minute and hour 0 means daily at midnight [OK]
Common Mistakes:
  • Thinking * means no schedule
  • Confusing hour and minute fields
  • Assuming it runs every minute
2. Which of the following is the correct cron syntax to run a job every 15 minutes?
easy
A. 15 * * * *
B. */15 * * * *
C. * 15 * * *
D. 0 */15 * * *

Solution

  1. Step 1: Understand the minute field syntax

    Using '*/15' in the minute field means every 15 minutes (0,15,30,45).
  2. Step 2: Check other fields

    All other fields are '*', meaning every hour, day, month, and weekday.
  3. Final Answer:

    */15 * * * * -> Option B
  4. Quick Check:

    */15 in minutes means every 15 minutes [OK]
Hint: */15 in minute field means every 15 minutes [OK]
Common Mistakes:
  • Using 15 in minute field runs only at minute 15
  • Putting 15 in hour field runs at 3 PM only
  • Using 0 */15 runs every 15 hours, not minutes
3. What is the output behavior of this cron expression: 30 6 * * 1?
medium
A. Runs at 6:30 AM every Monday
B. Runs at 6:30 AM every day
C. Runs at 6:00 AM every Monday
D. Runs every minute on Mondays

Solution

  1. Step 1: Analyze the fields

    Minute=30, Hour=6, Day=*, Month=*, Weekday=1 (Monday).
  2. Step 2: Interpret the schedule

    The task runs at 6:30 AM only on Mondays.
  3. Final Answer:

    Runs at 6:30 AM every Monday -> Option A
  4. Quick Check:

    30 6 * * 1 = Monday 6:30 AM [OK]
Hint: Weekday 1 means Monday, time 6:30 is hour:minute [OK]
Common Mistakes:
  • Confusing weekday with day of month
  • Assuming it runs daily instead of weekly
  • Mixing hour and minute fields
4. Identify the error in this cron expression: 60 24 * * *
medium
A. Minute value 60 is invalid
B. Hour value 24 is invalid
C. No error, this is valid syntax
D. Both minute and hour values are invalid

Solution

  1. Step 1: Check minute field validity

    Minute field must be 0-59; 60 is invalid.
  2. Step 2: Check hour field validity

    Hour field must be 0-23; 24 is invalid.
  3. Final Answer:

    Both minute and hour values are invalid -> Option D
  4. Quick Check:

    Minute max 59, hour max 23 [OK]
Hint: Minutes max 59, hours max 23 in cron [OK]
Common Mistakes:
  • Assuming 60 is valid minute
  • Assuming 24 is valid hour
  • Thinking cron allows 24:00 time
5. You want to schedule a backup script to run at 2:15 AM on the 1st day of every month. Which cron expression should you use?
hard
A. 15 2 1 * *
B. 2 15 1 * *
C. 15 2 * * 1
D. 0 2 15 * *

Solution

  1. Step 1: Map time and date to cron fields

    Minute=15, Hour=2, Day=1 (first day), Month=*, Weekday=* (any day).
  2. Step 2: Verify expression correctness

    Expression '15 2 1 * *' matches 2:15 AM on day 1 of every month.
  3. Final Answer:

    15 2 1 * * -> Option A
  4. Quick Check:

    Minute=15, Hour=2, Day=1 means 2:15 AM on 1st [OK]
Hint: Minute Hour Day Month Weekday order in cron [OK]
Common Mistakes:
  • Swapping hour and minute fields
  • Using weekday instead of day of month
  • Setting wrong day or time values
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