2002-02-02 04:25:25 +03:00
|
|
|
.\" $NetBSD: ntpdate.8,v 1.6 2002/02/02 01:25:25 wiz Exp $
|
2001-04-27 04:10:05 +04:00
|
|
|
.\" Converted from HTML to mandoc by ntp-html2mdoc.pl
|
2000-03-29 17:54:44 +04:00
|
|
|
.\"
|
2001-04-27 04:10:05 +04:00
|
|
|
.Dd March 29, 2000
|
2000-03-29 17:54:44 +04:00
|
|
|
.Dt NTPDATE 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm ntpdate
|
|
|
|
.Nd set the date and time via NTP
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl bBdoqsuv
|
|
|
|
.Op Fl a Ar key
|
|
|
|
.Op Fl e Ar authdelay
|
|
|
|
.Op Fl k Ar keyfile
|
|
|
|
.Op Fl o Ar version
|
|
|
|
.Op Fl p Ar samples
|
|
|
|
.Op Fl t Ar timeout
|
2001-02-02 06:33:50 +03:00
|
|
|
.Op Ar server ...
|
2000-03-29 17:54:44 +04:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
.Nm
|
|
|
|
sets the local date and time by polling the Network Time
|
2002-01-19 14:44:57 +03:00
|
|
|
Protocol (NTP) server(s) given as the
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar server
|
|
|
|
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 a subset of
|
|
|
|
the NTP clock filter and selection algorithms are applied to select the
|
2002-01-19 14:44:57 +03:00
|
|
|
best of these. Note that the accuracy and reliability of
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
depends on the number of servers, the number of polls each time it is run
|
|
|
|
and the interval between runs.
|
|
|
|
.Pp
|
|
|
|
.Nm
|
|
|
|
can be run manually as necessary to set the host clock,
|
|
|
|
or it can be run from the host startup script to set the clock at boot
|
|
|
|
time. This is useful in some cases to set the clock initially before starting
|
2002-01-19 14:44:57 +03:00
|
|
|
the NTP daemon
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd .
|
2002-01-19 14:44:57 +03:00
|
|
|
It is also possible to run
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
2002-01-19 14:44:57 +03:00
|
|
|
from a
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa cron
|
2002-01-19 14:44:57 +03:00
|
|
|
script. However, it is important to note that
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
2002-01-19 14:44:57 +03:00
|
|
|
with contrived
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa cron
|
|
|
|
scripts is no substitute for the NTP daemon,
|
|
|
|
which uses sophisticated algorithms to maximize accuracy and reliability
|
2002-01-19 14:44:57 +03:00
|
|
|
while minimizing resource use. Finally, since
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
does not
|
2002-01-19 14:44:57 +03:00
|
|
|
discipline the host clock frequency as does
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd ,
|
|
|
|
the accuracy
|
2002-01-19 14:44:57 +03:00
|
|
|
using
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
is limited.
|
|
|
|
.Pp
|
2002-01-19 14:44:57 +03:00
|
|
|
Time adjustments are made by
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
in one of two ways. If
|
|
|
|
.Nm
|
|
|
|
determines the clock is in error more than 0.5 second
|
2002-01-19 14:44:57 +03:00
|
|
|
it will simply step the time by calling the system
|
2002-02-02 04:25:25 +03:00
|
|
|
.Xr settimeofday 2
|
2000-03-29 17:54:44 +04:00
|
|
|
routine. If the error is less than 0.5 seconds, it will slew the time by
|
2002-01-19 14:44:57 +03:00
|
|
|
calling the system
|
2002-02-02 04:25:25 +03:00
|
|
|
.Xr adjtime 2
|
2000-03-29 17:54:44 +04:00
|
|
|
routine. The latter technique is
|
|
|
|
less disruptive and more accurate when the error is small, and works quite
|
2002-01-19 14:44:57 +03:00
|
|
|
well when
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
2002-01-19 14:44:57 +03:00
|
|
|
is run by
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa cron
|
|
|
|
every hour or two.
|
|
|
|
.Pp
|
|
|
|
.Nm
|
|
|
|
will decline to set the date if an NTP server daemon
|
2002-01-19 14:44:57 +03:00
|
|
|
(e.g.,
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd
|
2002-01-19 14:44:57 +03:00
|
|
|
) is running on the same host. When running
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
2002-01-19 14:44:57 +03:00
|
|
|
on a regular basis from
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa cron
|
|
|
|
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.
|
|
|
|
.Pp
|
2002-01-19 14:44:57 +03:00
|
|
|
If NetInfo support is compiled into
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm "" ,
|
|
|
|
then the
|
|
|
|
.Pa server
|
2002-01-19 14:44:57 +03:00
|
|
|
argument is optional if
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
can find a time
|
2002-01-19 14:44:57 +03:00
|
|
|
server in the NetInfo configuration for
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd
|
|
|
|
.
|
|
|
|
.Sh COMMAND LINE OPTIONS
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl a Ar key
|
|
|
|
Enable the authentication function and specify the key identifier to be
|
2002-01-19 14:44:57 +03:00
|
|
|
used for authentication as the argument
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar key
|
|
|
|
.Nm "" .
|
|
|
|
The
|
|
|
|
keys and key identifiers must match in both the client and server key files.
|
|
|
|
The default is to disable the authentication function.
|
|
|
|
.It Fl B
|
|
|
|
Force the time to always be slewed using the adjtime() system call, even
|
|
|
|
if the measured offset is greater than +-128 ms. The default is to step
|
|
|
|
the time using settimeofday() if the offset is greater than +-128 ms. Note
|
|
|
|
that, if the offset is much greater than +-128 ms in this case, that it
|
|
|
|
can take a long time (hours) to slew the clock to the correct value. During
|
|
|
|
this time. the host should not be used to synchronize clients.
|
|
|
|
.It Fl b
|
|
|
|
Force the time to be stepped using the settimeofday() system call, rather
|
|
|
|
than slewed (default) using the adjtime() system call. This option should
|
|
|
|
be used when called from a startup file at boot time.
|
|
|
|
.It Fl d
|
2002-01-19 14:44:57 +03:00
|
|
|
Enable the debugging mode, in which
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
will go through all
|
|
|
|
the steps, but not adjust the local clock. Information useful for general
|
|
|
|
debugging will also be printed.
|
|
|
|
.It Fl e Ar authdelay
|
|
|
|
Specify the processing delay to perform an authentication function as the
|
2002-01-19 14:44:57 +03:00
|
|
|
value
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar authdelay
|
2002-01-19 14:44:57 +03:00
|
|
|
, in seconds and fraction (see
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd
|
|
|
|
for
|
|
|
|
details). This number is usually small enough to be negligible for most
|
|
|
|
purposes, though specifying a value may improve timekeeping on very slow
|
|
|
|
CPU's.
|
|
|
|
.It Fl k Ar keyfile
|
2002-01-19 14:44:57 +03:00
|
|
|
Specify the path for the authentication key file as the string
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar keyfile
|
|
|
|
.
|
2002-01-19 14:44:57 +03:00
|
|
|
The default is
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa /etc/ntp.keys .
|
|
|
|
This file should be in the format
|
2002-01-19 14:44:57 +03:00
|
|
|
described in
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa ntpd
|
|
|
|
.
|
|
|
|
.It Fl o Ar version
|
2002-01-19 14:44:57 +03:00
|
|
|
Specify the NTP version for outgoint packets as the integer
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar version
|
|
|
|
,
|
2002-01-19 14:44:57 +03:00
|
|
|
which can be 1 or 2. The default is 3. This allows
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
to
|
|
|
|
be used with older NTP versions.
|
|
|
|
.It Fl p Ar samples
|
|
|
|
Specify the number of samples to be acquired from each server as the integer
|
|
|
|
.Ar samples
|
|
|
|
, with values from 1 to 8 inclusive. The default is 4.
|
|
|
|
.It Fl q
|
|
|
|
Query only - don't set the clock.
|
|
|
|
.It Fl s
|
|
|
|
Divert logging output from the standard output (default) to the system
|
|
|
|
.Pa syslog
|
|
|
|
facility. This is designed primarily for convenience of
|
|
|
|
.Pa cron
|
|
|
|
scripts.
|
|
|
|
.It Fl t Ar timeout
|
2002-01-19 14:44:57 +03:00
|
|
|
Specify the maximum time waiting for a server response as the value
|
2000-03-29 17:54:44 +04:00
|
|
|
.Ar timeout
|
|
|
|
,
|
|
|
|
in seconds and fraction. The value is is rounded to a multiple of 0.2 seconds.
|
|
|
|
The default is 1 second, a value suitable for polling across a LAN.
|
|
|
|
.It Fl u
|
2002-01-19 14:44:57 +03:00
|
|
|
Direct
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
to use an unprivileged port or outgoing packets.
|
|
|
|
This is most useful when behind a firewall that blocks incoming traffic
|
|
|
|
to privileged ports, and you want to synchronise with hosts beyond the
|
2002-01-19 14:44:57 +03:00
|
|
|
firewall. Note that the
|
2000-03-29 17:54:44 +04:00
|
|
|
.Fl d
|
|
|
|
option always uses unprivileged ports.
|
|
|
|
.It Fl v
|
2002-01-19 14:44:57 +03:00
|
|
|
Be verbose. This option will cause
|
2000-03-29 17:54:44 +04:00
|
|
|
.Nm
|
|
|
|
's version identification
|
|
|
|
string to be logged.
|
|
|
|
.El
|
|
|
|
.Sh FILES
|
2000-03-30 05:49:23 +04:00
|
|
|
.Bl -tag -width /etc/ntp.keys -compact
|
|
|
|
.It Pa /etc/ntp.keys
|
2002-01-19 14:44:57 +03:00
|
|
|
encryption keys used by
|
2000-03-30 05:49:23 +04:00
|
|
|
.Nm "" .
|
|
|
|
.El
|
2002-02-02 04:25:25 +03:00
|
|
|
.Sh AUTHORS
|
|
|
|
David L. Mills (mills@udel.edu)
|
2000-03-29 17:54:44 +04:00
|
|
|
.Sh BUGS
|
|
|
|
The slew adjustment is actually 50% larger than the measured offset, since
|
|
|
|
this (it is argued) will tend to keep a badly drifting clock more accurate.
|
|
|
|
This is probably not a good idea and may cause a troubling hunt for some
|
2002-01-19 14:44:57 +03:00
|
|
|
values of the kernel variables
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa tick
|
2002-01-19 14:44:57 +03:00
|
|
|
and
|
2000-03-29 17:54:44 +04:00
|
|
|
.Pa tickadj .
|