Linux Verify crond Daemon And Cronjobs Are Running

Posted on in Categories , , , , last updated May 3, 2017

How do I verify or check cronjob is running or not under a CentOS / RHEL / Fedora Linux from a shell prompt?

cron or crond is daemon to execute scheduled commands (Vixie Cron) on a Linux or Unix-like systems. Usually, it is started automatically from /etc/init.d or systemd on entering multi-user runlevels.

RHEL/CentOS v4.x/5.x/6.x and Fedora Linux (older version) Verify Cron Service

You can simply use any one of the following command to see if crond is running or not, enter:
# pgrep crond
OR
# service crond status
Sample outputs:

crond (pid 4370) is running...

If it is not running type the following two command to start crond:
# chkconfig crond on
# service crond start

Verify cron is running by viewing log file, enter:
# tail -f /var/log/cron

A note about CentOS/RHEL v7.x+ and latest version of Fedora Linux

You need to use the following command to find out if the crond is running or not:
$ systemctl status crond.service
Sample outputs:

   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Tue 2015-05-19 14:53:32 EDT; 3min 7s ago
 Main PID: 1292 (crond)
   CGroup: /system.slice/crond.service
           └─1292 /usr/sbin/crond -n

If not running configure the crond service to start automatically on boot:
$ sudo systemctl enable crond.service
$ sudo systemctl start crond.service

A note about Debian / Ubuntu Linux (older version) Cron service

On a Debian and Ubuntu Linux cron logs its action logged to the syslog facility i.e. use /var/log/messages file:
# tail -f /var/log/messages
Find out if cron daemon is running or not, enter:
# pgrep cron
If not running start it, enter:
# update-rc.d cron defaults
# /etc/init.d/cron start

A note about Debian Linux v8.x+ and latest version of Ubuntu Linux

The syntax is as follows to check if the cron service is running or not:
# systemctl status cron
Sample outputs:

● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled)
   Active: active (running) since Tue 2015-05-19 11:49:32 IST; 12h ago
     Docs: man:cron(8)
 Main PID: 1053 (cron)
   CGroup: /system.slice/cron.service
           ├─1053 /usr/sbin/cron -f
           └─3020 /usr/bin/atop -a -w /var/log/atop/atop_20150520 600

If not running configure the crond service to start automatically on boot:
$ sudo systemctl enable cron.service
$ sudo systemctl start cron.service

See Debian / Linux service management for more information.

This entry is 3 of 15 in the Linux Cron Jobs Howto & Tutorial series. Keep reading the rest of the series:
  1. What is cron on a Linux or Unix-like systems?
  2. HowTo: Add Jobs To cron Under Linux or UNIX?
  3. Linux Verify crond Daemon And Cronjobs Are Running
  4. Linux Start Restart and Stop The Cron or Crond Service
  5. Linux: List / Display All Cron Jobs
  6. Linux / UNIX Crontab File Location
  7. Linux / UNIX: Change Crontab Email Settings ( MAILTO )
  8. Disable The Mail Alert By Crontab Command On a Linux or Unix-like Systems
  9. Linux: At What Time Cron Entries In cron.daily, cron.weekly, cron.monthly Run?
  10. Linux Execute Cron Job After System Reboot
  11. Linux / UNIX Setup and Run PHP Script As A Cron Job
  12. How to run crontab job every minute on a Linux or Unix-like system
  13. Run crontab (cron jobs) Every 10 Minutes
  14. Cron Job Script Execution on the Last Day of a Month
  15. Run crontab (cron jobs) every 1 minute

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

5 comment

Comments are closed.