Cron Job Overview
Nagios XI includes several cron jobs that run on a regular basis to perform one or more operations or maintenance tasks. These jobs are critical to the operation of Nagios XI. An overview of the cron jobs that are part of Nagios XI are described below.
Cron Job Definition Location
Cron jobs for Nagios XI are defined in the following file on your XI server:
/etc/cron.d/nagiosxi
Individual Cron Jobs
Example contents of the /etc/cron.d/nagiosxi file from a Nagios XI 5.5.7 installation are listed below (each non-comment line corresponds to a cron job):
# /etc/cron.d/nagiosxi: crontab fragment for nagiosxi
# Backup MySQL & PostgreSQL Databases
0 7 * * * root /root/scripts/automysqlbackup
0 7 * * * root /root/scripts/autopostgresqlbackup > /dev/null 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/sysstat.php >> /usr/local/nagiosxi/var/sysstat.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/cmdsubsys.php >> /usr/local/nagiosxi/var/cmdsubsys.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/eventman.php >> /usr/local/nagiosxi/var/eventman.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/event_handler.php >> /usr/local/nagiosxi/var/event_handler.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/feedproc.php >> /usr/local/nagiosxi/var/feedproc.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/perfdataproc.php >> /usr/local/nagiosxi/var/perfdataproc.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/nom.php >> /usr/local/nagiosxi/var/nom.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/reportengine.php >> /usr/local/nagiosxi/var/reportengine.log 2>&1
*/5 * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/dbmaint.php >> /usr/local/nagiosxi/var/dbmaint.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/cleaner.php >> /usr/local/nagiosxi/var/cleaner.log 2>&1
01 * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/recurring_downtime.php >> /usr/local/nagiosxi/var/recurringdowntime.log 2>&1
* * * * * nagios /usr/bin/php -q /usr/local/nagiosxi/cron/deadpool.php >> /usr/local/nagiosxi/var/deadpool.log 2>&1
Debugging Cron Job Problems
If cron jobs appear to not be working, you can take the following steps to troubleshoot the problem:
-
Examine the /var/log/cron log file for error messages
-
Examine the log files from the individual cron jobs - all logs will be located in the /usr/local/nagiosxi/var directory
-
Ensure the cron system daemon is running by executing the following command from a shell prompt:
RHEL 7 | CentOS 7 | Oracle Linux 7
systemctl status crond.service
Debian | Ubuntu 16/18
systemctl status cron.service
-
Comment out the cron jobs from the /etc/cron.d/nagiosxi file and run the raw cron job commands manually (don't forget to uncomment the jobs when you're done testing)
Cron Job Tips
If you're not familiar with cron, the cron file contains various fields that determine what command gets run and on what schedule it is run. Some helpful links for better understanding cron files are listed below:
- Cron formats explained - http://www.nncron.ru/help/EN/working/cron-format.htm
- Cron explained - http://en.wikipedia.org/wiki/Cron
- Crontab quick reference - http://www.adminschoice.com/crontab-quick-reference
Final Thoughts
For any support related questions please visit the Nagios Support Forums at: