crontool
Paste a schedule, read it in English, see the next runs.

Where Are Cron Logs and Did My Job Run?

To confirm whether cron even tried to run your job, look at the system log, not your script. On Debian/Ubuntu run grep CRON /var/log/syslog; on RHEL/Fedora run journalctl -u crond. If you see a line for your command, cron fired and any failure is in the command itself; if there is no line, the schedule or the crontab is the problem.

Find the cron log for your system

  • Debian / Ubuntu: grep CRON /var/log/syslog (older installs also have /var/log/cron.log if enabled in /etc/rsyslog.d/50-default.conf).
  • RHEL / CentOS / Fedora: journalctl -u crond or grep CRON /var/log/cron.
  • Any systemd host: journalctl -u cron -u crond --since "1 hour ago".

Read what the line means

A line like CMD (/path/to/script.sh) proves cron executed the command. If the job still "did nothing", the failure is inside your script — capture it by appending >>/tmp/job.log 2>&1 to the cron line so both stdout and stderr are saved.

No CRON line at your scheduled minute means cron never fired: check the schedule fields, that the crontab was saved (crontab -l), and that the daemon is running (systemctl status cron).

FAQ

How do I know if my cron job actually ran?

Search the system log: grep CRON /var/log/syslog (Debian/Ubuntu) or journalctl -u crond (RHEL/Fedora). A CMD line at your scheduled time proves cron executed it.

Why is there no cron log at all?

Some minimal or container images do not run rsyslog. Use journalctl -u cron, or add explicit logging to the job itself with >>/tmp/job.log 2>&1.

Where does cron send my job's output?

By default to local mail for the user (often unread). Redirect it yourself: append >>/var/log/myjob.log 2>&1 to the crontab line to keep stdout and stderr.