Bird
Raised Fist0
Linux CLIscripting~5 mins

Cron log monitoring in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Cron is a tool that runs scheduled tasks on your computer. Monitoring its logs helps you check if these tasks ran successfully or if there were errors.
When you want to verify that a scheduled backup job ran at the right time.
When you need to find out why a script scheduled with cron did not work.
When you want to track how often a maintenance task executes on your server.
When you want to check if cron jobs are causing errors or warnings.
When you want to audit the history of automated tasks for troubleshooting.
Commands
This command searches the system log for all entries related to cron jobs to see their execution details.
Terminal
sudo grep CRON /var/log/syslog
Expected OutputExpected
Jun 10 10:00:01 my-server CRON[1234]: (root) CMD (run-parts /etc/cron.hourly) Jun 10 11:00:01 my-server CRON[5678]: (root) CMD (backup.sh)
→
-i - Makes the search case-insensitive (not used here but useful)
Shows the last 20 lines of the system log filtered for cron entries to quickly check recent cron activity.
Terminal
tail -n 20 /var/log/syslog | grep CRON
Expected OutputExpected
Jun 10 11:00:01 my-server CRON[5678]: (root) CMD (backup.sh) Jun 10 12:00:01 my-server CRON[9101]: (root) CMD (cleanup.sh)
→
-n - Specifies the number of lines to show from the end of the file
Displays the entire cron-specific log file if your system keeps a separate cron log for easier monitoring.
Terminal
sudo cat /var/log/cron.log
Expected OutputExpected
Jun 10 10:00:01 my-server CRON[1234]: (root) CMD (run-parts /etc/cron.hourly) Jun 10 11:00:01 my-server CRON[5678]: (root) CMD (backup.sh)
Key Concept

If you remember nothing else from cron log monitoring, remember: checking the system log for 'CRON' entries shows when and what cron jobs ran.

Common Mistakes
Trying to check cron logs without sudo permissions
Most system logs require root access to read, so the command will fail or show no output.
Use sudo before commands like grep or cat to access cron logs.
Looking for cron logs in the wrong file
Different Linux systems store cron logs in different files; using the wrong file shows no results.
Check /var/log/syslog or /var/log/cron.log depending on your system.
Not filtering logs for 'CRON' keyword
System logs contain many entries; without filtering, it's hard to find cron job details.
Always use grep CRON to filter relevant cron job entries.
Summary
Use grep CRON on /var/log/syslog to find cron job execution entries.
Use tail with grep to quickly check recent cron activity.
Some systems have a dedicated /var/log/cron.log file for cron logs.
Use sudo to ensure you have permission to read system log files.

Practice

(1/5)
1. What is the main purpose of monitoring cron logs on a Linux system?
easy
A. To install new cron jobs automatically
B. To check if scheduled tasks ran successfully
C. To delete old cron jobs from the system
D. To speed up the execution of cron jobs

Solution

  1. Step 1: Understand cron job scheduling

    Cron jobs are scheduled tasks that run automatically at set times.
  2. Step 2: Purpose of cron log monitoring

    Monitoring cron logs helps verify if these tasks ran as planned and if there were any errors.
  3. Final Answer:

    To check if scheduled tasks ran successfully -> Option B
  4. Quick Check:

    Cron logs track task success = A [OK]
Hint: Cron logs show task run status, not installation or deletion [OK]
Common Mistakes:
  • Confusing cron log monitoring with job installation
  • Thinking cron logs speed up tasks
  • Assuming cron logs delete jobs automatically
2. Which command correctly shows the last 10 lines of the cron log file located at /var/log/cron?
easy
A. tail /var/log/cron
B. head /var/log/cron
C. cat /var/log/cron | grep last 10
D. grep last /var/log/cron

Solution

  1. Step 1: Understand the tail command

    The tail command shows the last lines of a file, defaulting to 10 lines.
  2. Step 2: Apply tail to cron log

    Using tail /var/log/cron displays the last 10 lines of the cron log file.
  3. Final Answer:

    tail /var/log/cron -> Option A
  4. Quick Check:

    Last 10 lines = tail [OK]
Hint: Use tail to see recent log entries quickly [OK]
Common Mistakes:
  • Using head shows first lines, not last
  • Incorrect grep syntax for line count
  • Confusing grep with tail for last lines
3. What will be the output of this command if the cron log contains these lines:
Jun 10 10:00:01 server CRON[1234]: (root) CMD (backup.sh)
Jun 10 10:05:01 server CRON[1235]: (root) CMD (cleanup.sh)
Jun 10 10:10:01 server CRON[1236]: (root) CMD (backup.sh)

Command: grep backup.sh /var/log/cron
medium
A. Jun 10 10:00:01 server CRON[1234]: (root) CMD (backup.sh) Jun 10 10:10:01 server CRON[1236]: (root) CMD (backup.sh)
B. Jun 10 10:05:01 server CRON[1235]: (root) CMD (cleanup.sh)
C. No output
D. Jun 10 10:00:01 server CRON[1234]: (root) CMD (backup.sh)

Solution

  1. Step 1: Understand grep filtering

    The grep backup.sh command filters lines containing 'backup.sh'.
  2. Step 2: Identify matching lines in the log

    Two lines contain 'backup.sh': the first and third lines.
  3. Final Answer:

    Both lines with backup.sh are shown -> Option A
  4. Quick Check:

    grep filters matching lines = C [OK]
Hint: grep shows all lines containing the search term [OK]
Common Mistakes:
  • Selecting only one matching line
  • Expecting output for unrelated terms
  • Thinking grep outputs no lines if multiple matches exist
4. You run grep CRON /var/log/cron | tail -5 but get no output, even though you know cron jobs ran recently. What is the most likely reason?
medium
A. Cron jobs do not write to /var/log/cron
B. The grep command syntax is incorrect
C. The tail command does not work with pipes
D. The cron log file is empty or missing

Solution

  1. Step 1: Check command correctness

    The command syntax is correct; grep filters lines with 'CRON', tail shows last 5 lines.
  2. Step 2: Consider log file state

    If no output appears, the log file may be empty or missing, so no lines match.
  3. Final Answer:

    The cron log file is empty or missing -> Option D
  4. Quick Check:

    No output usually means empty or missing file [OK]
Hint: No output often means empty or missing log file [OK]
Common Mistakes:
  • Blaming grep syntax when it is correct
  • Assuming tail can't work with pipes
  • Thinking cron never logs to /var/log/cron
5. You want to monitor cron logs in real-time to see new entries as they appear. Which command should you use?
hard
A. grep -r CRON /var/log/cron
B. cat /var/log/cron | head -n 10
C. tail -f /var/log/cron
D. less /var/log/cron

Solution

  1. Step 1: Understand real-time log monitoring

    Real-time monitoring means seeing new log lines as they are added.
  2. Step 2: Use tail with follow option

    tail -f keeps the file open and shows new lines live.
  3. Final Answer:

    tail -f /var/log/cron -> Option C
  4. Quick Check:

    tail -f shows live log updates [OK]
Hint: Use tail -f to watch logs live as they update [OK]
Common Mistakes:
  • Using grep -r which searches recursively, not live
  • Using head only shows start, not live updates
  • Using less does not auto-refresh new lines
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