#!/bin/bash ntp_server="clock.redhat.com" ntp_prog=`ls -l /etc/init.d/ | awk '{print $NF}' | grep "ntp\|chrony"` echo "NTP daemon is detected as $ntp_prog" drift_log="/tmp/drift.log" error() { echo "Error: $1" exit 1 } [[ -n $ntp_prog ]] || error "cannot find ntp daemon" [[ `which ntpdate` ]] || error "cannot find ntpdate" [[ -f /var/lock/subsys/ntpd ]] || [[ -f /var/run/ntpd.pid ]] || [[ -f /var/run/chronyd.pid ]] && /etc/init.d/$ntp_prog stop sleep 3 ntpdate $ntp_server || error "unable to contact NTP server $ntp_server" /sbin/hwclock while true do [[ -f /var/lock/subsys/ntpd ]] || [[ -f /var/run/chronyd.pid ]] && /etc/init.d/$ntp_prog stop > /dev/null out=`ntpdate -q $ntp_server | grep ntpdate` /etc/init.d/$ntp_prog start > /dev/null time=`echo $out | awk '{print $3}'` skew=`echo $out | awk '{print $10}' | awk -F. '{print $1}'` echo "$time $skew seconds" echo "$time $skew seconds" >> $drift_log sleep 60 done