Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to verify if my cron job is executing and what time. I believe there is a log for my sudo crontab -e jobs, but where?

I searched google and it I found references to look in /var/log (which I do not see anything with 'cron') and to edit the file /etc/syslog.conf which I also do not have. ?

share|improve this question

On a default installation the cron jobs get logged to


You can see just cron jobs in that logfile by running

 grep CRON /var/log/syslog

If you haven't reconfigured anything,the entries will be in there.

share|improve this answer
If there is no MTA installed, cron just throws the job output away. – Barry Kelly Nov 18 '13 at 23:19
The cron log may be in another file in the /var/log/ directory. Check for cron.log or equivalent. – Navigatron Jan 31 '14 at 10:21
use journalctl | grep cron on systemd systems – Student Nov 12 '14 at 19:57
this doesn't give me output from the job. it just gives a generic message that the cron was processed. – chovy Dec 12 '15 at 0:34

You can create a cron.log file to contain just the CRON entries that show up in syslog. Note that CRON jobs will still show up in syslog if you follow the following directions.

Open the file


Find the line that starts with:


uncomment that line, save the file, and restart rsyslog:

sudo service rsyslog restart

You should now see a cron log file here:


Cron activity will now be logged to this file (in addition to syslog).

Note that in cron.log you will see entries for when cron ran scripts in /etc/cron.hourly, cron.daily, etc. - e.g. something like:

Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

However, you will not see more information about what scripts were actually ran inside /etc/cron.daily or /etc/cron.hourly, unless those scripts direct output to the cron.log (or perhaps to some other log file).

If you want to verify if a crontab is running and not have to search for it in cron.log or syslog, create a crontab that redirects output to a log file of your choice - something like:

01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1

This will redirect all standard output and errors that may be produced by the script that is run to the log file specified.

share|improve this answer
With my opinion, this answer is better in future. So your syslog file is more clear. – shgnInc Dec 22 '13 at 8:36
To also exclude the cron log from syslog you can change the line *.*;auth,authpriv.none -/var/log/syslog to *.*;auth,authpriv.none,cron.none -/var/log/syslog. – Koen. Feb 13 '14 at 11:35
On our CentOS 6, cron.* defined in /etc/rsyslog.conf, whereas i's empty in rsyslog.d folder. – Scott Chu Sep 17 '14 at 3:35

Sometimes it can be useful to continuously monitor it, in that case:

tail -f /var/log/syslog | grep CRON
share|improve this answer
Not exactly, monitoring (-f flag) is the key to this particluar answer. – IanBussieres Nov 13 '14 at 18:44
Well, you probably want to use -F, which will follow the file across name changes, so that when it gets truncated/moved to, e.g. /var/log/syslog.1.gz, you're still following the current /var/log/syslog file. Per the man docs, this is the same as running tail xxxx -f --retry – Momer Dec 17 '14 at 22:24

You can also direct the output of the individual cronjobs to their own logs for better readability, you will just need to append the output of date somewhere.

 0 15 * * *    /home/andrew/ >> /var/log/cyphertite.log
share|improve this answer
true, but if this line fails to run due to syntax error, nothing will be written in the output log specified. – Raptor Jul 24 '15 at 2:37
You can solve this by appending 2>&1 after the log file is specified. It is also best practice to test your cronjobs before adding them to the crontab, and then being present for the first scheduled run to ensure that the crontab is properly formatted. – Andrew Meyer Jul 24 '15 at 16:04

This is a very old question, but none of these answers seem satisfactory.

First make your cron job run every minute, then run cron as non-daemon (temporarily, just kill any crond that may have already started) with test logging:

crond -nx test

And see the log of your program execution flowing through your terminal.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.