#!/bin/sh ######################################################################### # # FILE : updatetime # DATE : 23.2.2001 # AUTHOR : Patrick Meier / patrick.meier@gmx.net # DESCRIPTION : sets the time from a time server # # Copyrigth (C) 2001 by Patrick Meier, Switzerland # ######################################################################### PN=`basename "$0"` STARTSTRING="==>" ######################################################################### # defines all commands ######################################################################### CONFIGFILE=/etc/timeservers.conf PING="/bin/ping -c3" NTPDATE="/usr/bin/rdate -s" CAT="/bin/cat" GREP="/bin/grep" AWK="/usr/bin/awk" ECHO="/bin/echo" ######################################################################### # Usage ######################################################################### Usage() { $ECHO "$PN - sets the time from a timeserver" $ECHO "usage : $PN [-test] [ timeserver... ]" } ######################################################################### # main ######################################################################### SERVER="yes" while [ $# -gt 0 ] do case "$1" in -h) Usage; exit 1;; -test) SERVER="no";; *) break;; esac shift done TIMESERVERS="$@" if [ -z "$TIMESERVERS" ] then TIMESERVERS="`$CAT $CONFIGFILE | $GREP -v \"#\" | $GREP -v \"localhost\" | $GREP -v \"127.\" | $GREP server | $AWK '{print $2}'`" fi for i in $TIMESERVERS do cmd="$PING $i >/dev/null 2>&1" if [ $SERVER = "no" ] then $ECHO "{$STARTSTRING}test server..." fi if( eval $cmd ) then if [ $SERVER = "no" ] then $ECHO -n "${STARTSTRING}set time $i: " $NTPDATE $i else $NTPDATE $i >/dev/null 2>&1 fi exit 0 fi done $ECHO "${STARTSTRING}ERROR: no timerserver found!" exit -1 ######################################################################### # EOF #########################################################################