#!/bin/bash # File: /root/ntpdate_client # Autor: Pierre Burri, 17 July 2003 # checks first if a known local ntp server exists, otherwise check for a # router and tries to query some known internet ntp servers. # ------------------------------------------------------------------------ # local_ntp_server="192.168.10.15" # local_ntp_server="192.168.71.241" #local_ntp_server="192.168.100.133" ntp_server1="ntp3.fau.de" ntp_server2="ntps1-1.cs.tu-berlin.de" router=$(/sbin/route -n |/bin/sed -n 's/^0.0.0.0 *\([1-2][0-9]*\.[0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p') # if [ $TERM = xterm -o $TERM = linux ] then show_msg=$(tty) else show_msg="/dev/null" fi # function query_internet_ntpservers () { if [ $router ] then /bin/ping -w 2 -c 1 $router &> /dev/null if [ $? -eq 0 ] then /usr/sbin/ntpdate -v $ntp_server1 &> $show_msg if [ $? -ne 0 ] then /usr/sbin/ntpdate -v $ntp_server2 &> $show_msg fi else echo no connection to a router > $show_msg fi else echo no default route found > $show_msg fi } # /bin/ping -w 2 -c 1 $local_ntp_server &> /dev/null if [ $? -eq 0 ] then /usr/sbin/ntpdate -v $local_ntp_server &> $show_msg if [ $? -ne 0 ] then query_internet_ntpservers fi else echo no local ntp server found, tries now two internet ntp servers > $show_msg query_internet_ntpservers fi #-------------- Now set the Hardware clock to the system time and date ----------------- /sbin/hwclock --systohc exit 0