#!/bin/bash # Synchronize system time from a list of servers # Install in /etc/cron.hourly or /etc/cron.daily SERVERLIST[0]="time-a.nist.gov" SERVERLIST[1]="time-b.nist.gov" SERVERLIST[2]="time-a.timefreq.bldrdoc.gov" SERVERLIST[3]="time-b.timefreq.bldrdoc.gov" SERVERLIST[4]="time-c.timefreq.bldrdoc.gov" SERVERLIST[5]="utcnist.colorado.edu" SERVERLIST[6]="time.nist.gov" SERVERLIST[7]="time-nw.nist.gov" SERVERLIST[8]="nist1.dc.certifiedtime.com" SERVERLIST[9]="nist1.datum.com" SERVERLIST[10]="nist1.nyc.certifiedtime.com" SERVERLIST[11]="nist1.sjc.certifiedtime.com" SERVERLIST[12]="north-america.pool.ntp.org" RDATEBIN=/usr/bin/rdate HWCLOCKBIN=/sbin/hwclock COUNTER=0 LASTSERVER=`expr ${#SERVERLIST[@]} - 1` while ! $RDATEBIN -s ${SERVERLIST[$COUNTER]} do COUNTER=$(($COUNTER + 1)); echo ${SERVERLIST[$COUNTER]} update failed if [ $COUNTER -gt $LASTSERVER ]; then exit 1 fi done && $HWCLOCKBIN --systohc