Archive for July 10th, 2026

Missing /var/log/cron.log on Linux? Here’s Where cron logs are actually stored

Friday, July 10th, 2026

If you've tried to troubleshoot a scheduled cron job or task and discovered that /var/log/cron.log doesn't exist, don't panic. Contrary to what used to be the normal for GNU / Linux distributions few years ago and especially before systemd came on scene, this file is not present on every Linux distribution anymore.

The location of cron logs depends on your Linux distribution, the logging service in use, and how system is configured.

In this guide, we'll explain why /var/log/cron.log may be missing and show you where to find your cron logs instead.

Why is /var/log/cron.log Missing?

There isn't a universal standard for cron logging across Linux distributions.

Some systems write cron events to a dedicated log file, while others store them in the system journal or the general system log. Modern Linux distributions increasingly rely on systemd-journald, which means traditional log files may not exist at all.

Ubuntu and Debian (deb based distros)

On Ubuntu and Debian, cron messages are typically written to the system log instead of a dedicated cron log.

To search for cron entries, run:

# grep CRON /var/log/syslog

Or use systemd's journal:

# journalctl -u cron

If /var/log/cron.log is missing, this is usually expected behavior.

RHEL, CentOS 7 and Similar Distributions

Red Hat Enterprise Linux and CentOS 7 usually maintain a dedicated cron log:

/var/log/cron

View its contents with:

# cat /var/log/cron

Or monitor it in real time:

# tail -f /var/log/cron

Rocky Linux, AlmaLinux, Fedora, and other newer RHEL based (RPM distro) Versions

Newer enterprise distributions commonly use the systemd journal.

To view cron service logs:

# journalctl -u crond

Or filter by the CROND by systlog  identifier:

# journalctl SYSLOG_IDENTIFIER=CROND

Check that the Cron service is running

Before investigating log files, make sure the cron service is active.

On Ubuntu and Debian:

# systemctl status cron

On RHEL-based systems:

# systemctl status crond

If the service isn't running, scheduled jobs won't execute regardless of where logs are stored.

On systems using systemd-journald

Many modern Linux distributions no longer create separate log files for services.

Instead, use the journal:

# journalctl -xe | grep -i cron

Or view only cron-related messages:

# journalctl -u cron

Depending on your distribution, the service may be named cron or crond.

Check Your rsyslog Configuration

If you specifically want a /var/log/cron.log file, verify whether your logging configuration creates one.

Search the configuration:

# grep cron /etc/rsyslog.conf # grep cron /etc/rsyslog.d/*

Some systems include a rule such as:

cron.* /var/log/cron.log

If this rule doesn't exist, cron messages may be redirected to /var/log/syslog or handled entirely by systemd-journald.

After making changes, restart rsyslog:

# systemctl restart rsyslog

Verify That Cron Jobs Are Running

If you're unsure whether cron is functioning, create a simple test job like below.

Add to crontab:

* * * * * echo "cron works $(date)" >> /tmp/cron-test.log

Wait one minute, then check the file:

# cat /tmp/cron-test.log

If new entries appear, cron is working correctly even if a dedicated cron log file is absent.

Summary

The absence of /var/log/cron.log is usually not a problem – it simply reflects how your Linux distribution handles logging.

So to rephrase it:

Modern systemd-based systems: Use journalctl instead of expecting separate log files.

  • Ubuntu/Debian: /var/log/syslog or journalctl -u cron
  • CentOS/RHEL 7: /var/log/cron
  • Rocky Linux, AlmaLinux, Fedora, RHEL 8+: journalctl -u crond

When troubleshooting cron jobs, always verify that the cron service is running as process ( ps -ef | grep cron ), confirm where your distribution stores logs and check cron execution runs / logs fine in /var/log/cron.