/ print "Checking to be sure the Network Time Protocol is running properly.\n"; print "For more information on ntpd please see http://www.ntp.org/\n"; my $NTPD; if (-e "/etc/init.d/ntpd") { $NTPD = "ntpd"; } elsif (-e "/etc/init.d/xntpd") { $NTPD = "xntpd"; } elsif (-e "/etc/init.d/ntp") { $NTPD = "ntp"; } else { print "ntp is not installed.\n"; exit; } my $value = `/etc/init.d/$NTPD status`; if ($value !~ /running/) { print "WARNING: ntp is installed but is not currently running.\nPlease verify the configuration of ntp in /etc/ntp.conf and /etc/ntp/step-tickers\nStart ntp by executing\n /etc/init.d/$NTPD start\n"; } # chkconfig barfs to stderr if the target isn't set up right. my $checking_bin; my $restartchk; if ('' eq 'debian5' || '' eq 'debian6' || '' eq 'ubuntu6' || '' eq 'ubuntu8' || '' eq 'ubuntu10') { $checking_bin = '/usr/sbin/sysv-rc-conf'; } else { $checking_bin = '/sbin/chkconfig'; } if ('' eq 'fedora15') { if (!-l "/etc/systemd/system/multi-user.target.wants/ntpd.service") { print "**** WARNING: ntpd is not configured to run at boot. To correct this run:\nsystemctl enable ntpd.service\n"; } exit; } else { $restartchk = `$checking_bin --list $NTPD 2>/dev/null`; if ($restartchk eq '') { print "**** WARNING: ntpd is either not installed or not configured to run at boot.\n"; exit; } if ($restartchk =~ /^error reading information on service / || $restartchk !~ /\d:(on|off)/) { print "**** WARNING: Unable to check status $NTPD with $checking_bin.\n"; exit; } if ($restartchk !~ /\s3:on/) { print "**** WARNING: ntpd is not set to start at runlevel 3. To correct this run:\n$checking_bin --level 345 $NTPD on\n"; exit; } if ($restartchk !~ /\s5:on/) { print "**** WARNING: ntpd is not set to start at runlevel 5. To correct this run:\n$checking_bin --level 345 $NTPD on\n"; exit; } }