PageRenderTime 5ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/ntp/scripts/ntp-status

https://bitbucket.org/freebsd/freebsd-head/
Shell | 45 lines | 32 code | 9 blank | 4 comment | 4 complexity | e3df40cbd877929e901799d9fba2f39a MD5 | raw file
 1#!/bin/sh
 2
 3# From: Marc Brett <Marc.Brett@westgeo.com>
 4
 5# Here's a quick hack which can give you the stratum, delay, offset
 6# for any number of ntp servers.
 7
 8NTPDATE=/usr/local/bin/ntpdate
 9NSLOOKUP=/usr/sbin/nslookup
10EGREP=/bin/egrep
11AWK=/bin/awk
12RM=/bin/rm
13FILE=/tmp/ntp.$$
14
15USAGE="Usage: $0 hostname [hostname ...]"
16
17if [ $# -le 0 ]
18then
19	echo $USAGE 2>&1
20	exit 1
21fi
22
23trap '$RM -f $FILE; exit' 1 2 3 4 13 15
24
25for HOST in $*
26do
27    HOSTNAME=`$NSLOOKUP $HOST | $EGREP "Name:" | $AWK '{print $2}'`
28    if [ -n "$HOSTNAME" ]
29    then
30	$NTPDATE -d $HOST 2>/dev/null | $EGREP '^stratum|^delay|^offset|^originate' > $FILE
31	STRATUM=`$EGREP '^stratum' $FILE | $AWK '{print $2}'`
32	OFFSET=`$EGREP '^offset' $FILE | $AWK '{print $2}'`
33	DELAY=`$EGREP '^delay' $FILE | $AWK '{print $2}'`
34	TIMESTAMP=`$EGREP '^originate' $FILE | $AWK '{print $4 " " $5 " " $6 " " $7 " " $8}'`
35	if [ "$STRATUM" -ne 0 ]
36	then
37		echo "$HOSTNAME: stratum:$STRATUM delay:$DELAY offset:$OFFSET  $TIMESTAMP"
38	else
39		echo $HOSTNAME: Not running NTP
40	fi
41    fi
42
43done
44
45$RM -f $FILE