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.




