NAME
ntpdate — set the date and time via NTP
SYNOPSIS
ntpdate
[
-bdos
] [
-a
key#
] [
-e
authdelay
] [
-k
keyfile
]
[
-p
samples
] [
-t
timeout
]
server ...
DESCRIPTION
ntpdate
sets the local date and time by polling the Network Time Protocol
server(s) on the host(s) given as arguments to determine
the correct time. It must be run as root on the local host. A number
of samples are obtained from each of the servers specified and the
standard NTP clock filter and selection algorithms are applied to select
the best of these. Typically,
ntpdate
can be inserted in the
startup script to set the time of day at boot time and/or can be run
from time-to-time via
cron(1M).
Note that
ntpdate's
reliability and precision will improve dramatically with greater numbers
of servers. While a single server may be used, better performance and
greater resistance to insanity on the part of any one server
will be obtained by providing at least three or four servers, if not more.
Time adjustments are made by
ntpdate
in one of two ways. If
ntpdate
determines your clock is off by more than 0.5 seconds it will simply
step the time by calling
settimeofday(2).
If the error is less than 0.5 seconds, however, it will by default slew
the clock's time via a call to
adjtime(2)
with the offset. The latter technique is less disruptive and more
accurate when the offset is small, and works quite well when
ntpdate
is run by
cron(1M)
every hour or two. The adjustment made in the latter
case is actually 50% larger than the measured offset since this will
tend to keep a badly drifting clock more accurate (at some expense to
stability, though this tradeoff is usually advantageous). At boot time,
however, it is usually better to always step the time. This can be forced
in all cases by specifying the
-b
switch on the command line. The
-s
switch tells
ntpdate
to log its actions via the
syslog(3C)
facility rather than to the standard output, a useful option when
running the program from
cron(1M).
The
-d
flag may be used to determine what
ntpdate
will do without it actually doing it. Information useful for general
debugging will also be printed. By default
ntpdate
claims to be an NTP version 3 implementation in its outgoing packets. As
some older software will decline to respond to version 3 queries, the
-o
switch can be used to force the program to poll as a version 2 implementation
instead.
The number of samples
ntpdate
acquires from each server can be set to between 1 and 8 inclusive
using the
-p
switch. The default is 4. The time it will spend waiting for a
response can be set using the
-t
switch, and will be rounded to a multiple of 0.2 seconds. The default
is 1 second, a value suitable for polling across a LAN.
ntpdate
will authenticate its transactions if need be. The
-a
switch specifies that all packets should be authenticated using the
key number indicated. The
-k
switch allows the name of the file from which the keys may be read
to be modified from the default of
/etc/ntp.keys.
This file should be in the format described in
xntpd(1M).
The
-e
option allows the specification of an authentication processing delay,
in seconds (see
xntpd(1M)
for details). This number is usually small enough to be negligible for
ntpdate's
purposes, though specifying a value may improve timekeeping on very slow
CPU's.
ntpdate
will decline to set the date if an NTP server daemon (e.g.
xntpd(1M))
is running on the same host. When running
ntpdate
on a regular basis from
cron(1M)
as an alternative to running a daemon, doing so once every hour or two
will result in precise enough timekeeping to avoid stepping the clock.
FILES
- /etc/ntp.keys
Contains the encription keys used by
ntpdate.
AUTHOR
ntpdate
was developed by Dennis Ferguson at the University of Toronto