How to enable logging for cron on Linux

how-to-enable-logging-for-cron-on-linux

If you’re looking to troubleshoot cron jobs, the best way might be to enable logging. Jack Wallen shows you how.

Cron is a time-based job scheduler in Linux that runs system jobs and allows users to create jobs that are executed on a regular basis. Cron does simple things like regularly emptying the /tmp folder, cleaning PHP sessions, running backups, and so much more. 

But the one problem with cron is that, out of the box, it doesn’t have a dedicated log. This can be a problem when you’re creating your own cron jobs and you need to debug them. 

Without a log, you might never know if that job ran. This happened to me recently, when I created two cronjobs to keep Google Drive in sync with a local directory with rclone. I had no idea if the jobs were running, without comparing the folders. Fortunately, it’s possible to enable logging with cron. 

Let’s find out how. 

Open a terminal window on the Linux machine that houses the cron job and issue the command: 

sudo nano /etc/rsyslog.d/50-default.conf

In that file, look for the line that starts with #cron.*. 

Remove the # symbol and then in the second column add:

 /var/log/cron.log

Save and close the file. 

Next, restart syslog with the command:

 sudo systemctl restart rsyslog

At this point, you should now see the new log file /var/log/cron.log. If you don’t see it immediately, it’ll appear the next time a cron job runs. 

You can then read through that file with the command less /var/log/cron.log and troubleshoot any cronjobs that may or may not be running. 

http://www.techrepublic.com/

Open Source Weekly Newsletter

You don’t want to miss our tips, tutorials, and commentary on the Linux OS and open source applications.
Delivered Tuesdays



Sign up today

Also see

Image: Jack Wallen