2001-08-29 14:35:15 +00:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
|
|
<title>ntpdate - set the date and time via NTP</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h3><tt>ntpdate</tt> - set the date and time via NTP</h3>
|
|
|
|
|
|
|
|
<img align="left" src="pic/rabbit.gif" alt="gif"><a href=
|
|
|
|
"http://www.eecis.udel.edu/~mills/pictures.htm">from <i>Alice's
|
|
|
|
Adventures in Wonderland</i>, Lewis Carroll</a>
|
|
|
|
|
|
|
|
<p>I told you it was eyeball and wristwatch.<br clear="left">
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<p>Disclaimer: The functionality of this program is now available
|
|
|
|
in the <tt>ntpd</tt> program. See the <tt>-q</tt> command line
|
|
|
|
option in the <a href="ntpd.htm"><tt>ntpd</tt> - Network Time
|
|
|
|
Protocol (NTP) daemon</a> page. After a suitable period of
|
|
|
|
mourning, the <tt>ntpdate</tt> program is to be retired from this
|
|
|
|
distribution</p>
|
|
|
|
|
|
|
|
<h4>Synopsis</h4>
|
|
|
|
|
|
|
|
<tt>ntpdate [ -bBdoqsuv ] [ -a <i>key</i> ] [ -e <i>authdelay</i> ]
|
|
|
|
[ -k <i>keyfile</i> ] [ -o <i>version</i> ] [ -p <i>samples</i> ] [
|
|
|
|
-t <i>timeout</i> ] <i>server</i> [ ... ]</tt>
|
|
|
|
|
|
|
|
<h4>Description</h4>
|
|
|
|
|
|
|
|
<tt>ntpdate</tt> sets the local date and time by polling the
|
|
|
|
Network Time Protocol (NTP) server(s) given as the <i>server</i>
|
|
|
|
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 best of these. Note
|
|
|
|
that the accuracy and reliability of <tt>ntpdate</tt> depends on
|
|
|
|
the number of servers, the number of polls each time it is run and
|
|
|
|
the interval between runs.
|
|
|
|
|
|
|
|
<p><tt>ntpdate</tt> 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 the NTP daemon <tt>ntpd</tt>. It is
|
|
|
|
also possible to run <tt>ntpdate</tt> from a <tt>cron</tt> script.
|
|
|
|
However, it is important to note that <tt>ntpdate</tt> with
|
|
|
|
contrived <tt>cron</tt> scripts is no substitute for the NTP
|
|
|
|
daemon, which uses sophisticated algorithms to maximize accuracy
|
|
|
|
and reliability while minimizing resource use. Finally, since <tt>
|
|
|
|
ntpdate</tt> does not discipline the host clock frequency as does
|
|
|
|
<tt>ntpd</tt>, the accuracy using <tt>ntpdate</tt> is limited.</p>
|
|
|
|
|
|
|
|
<p>Time adjustments are made by <tt>ntpdate</tt> in one of two
|
|
|
|
ways. If <tt>ntpdate</tt> determines the clock is in error more
|
|
|
|
than 0.5 second it will simply step the time by calling the system
|
|
|
|
<tt>settimeofday()</tt> routine. If the error is less than 0.5
|
|
|
|
seconds, it will slew the time by calling the system <tt>
|
|
|
|
adjtime()</tt> routine. The latter technique is less disruptive and
|
|
|
|
more accurate when the error is small, and works quite well when
|
|
|
|
<tt>ntpdate</tt> is run by <tt>cron</tt> every hour or two.</p>
|
|
|
|
|
|
|
|
<p><tt>ntpdate</tt> will decline to set the date if an NTP server
|
|
|
|
daemon (e.g., <tt>ntpd</tt>) is running on the same host. When
|
|
|
|
running <tt>ntpdate</tt> on a regular basis from <tt>cron</tt> 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.</p>
|
|
|
|
|
|
|
|
<p>If NetInfo support is compiled into <tt>ntpdate</tt>, then the
|
|
|
|
<tt>server</tt> argument is optional if <tt>ntpdate</tt> can find a
|
|
|
|
time server in the NetInfo configuration for <tt>ntpd</tt>.</p>
|
|
|
|
|
|
|
|
<h4>Command Line Options</h4>
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
<dt><tt>-a <i>key</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Enable the authentication function and specify the key
|
|
|
|
identifier to be used for authentication as the argument <i>
|
|
|
|
key</i><tt>ntpdate</tt>. The keys and key identifiers must match in
|
|
|
|
both the client and server key files. The default is to disable the
|
|
|
|
authentication function.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-B</tt></dt>
|
|
|
|
|
|
|
|
<dd>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.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-b</tt></dt>
|
|
|
|
|
|
|
|
<dd>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.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-d</tt></dt>
|
|
|
|
|
|
|
|
<dd>Enable the debugging mode, in which <tt>ntpdate</tt> will go
|
|
|
|
through all the steps, but not adjust the local clock. Information
|
|
|
|
useful for general debugging will also be printed.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-e <i>authdelay</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specify the processing delay to perform an authentication
|
|
|
|
function as the value <i>authdelay</i>, in seconds and fraction
|
|
|
|
(see <tt>ntpd</tt> 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.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-k <i>keyfile</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specify the path for the authentication key file as the string
|
|
|
|
<i>keyfile</i>. The default is <tt>/etc/ntp.keys</tt>. This file
|
|
|
|
should be in the format described in <tt>ntpd</tt>.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-o <i>version</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specify the NTP version for outgoint packets as the integer <i>
|
|
|
|
version</i>, which can be 1 or 2. The default is 3. This allows
|
|
|
|
<tt>ntpdate</tt> to be used with older NTP versions.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-p <i>samples</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specify the number of samples to be acquired from each server
|
|
|
|
as the integer <i>samples</i>, with values from 1 to 8 inclusive.
|
|
|
|
The default is 4.</dd>
|
|
|
|
|
|
|
|
<dt><i><tt>-q</tt></i></dt>
|
|
|
|
|
|
|
|
<dd>Query only - don't set the clock.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-s</tt></dt>
|
|
|
|
|
|
|
|
<dd>Divert logging output from the standard output (default) to the
|
|
|
|
system <tt>syslog</tt> facility. This is designed primarily for
|
|
|
|
convenience of <tt>cron</tt> scripts.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-t <i>timeout</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Specify the maximum time waiting for a server response as the
|
|
|
|
value <i>timeout</i>, 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.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-u</tt></dt>
|
|
|
|
|
|
|
|
<dd>Direct <tt>ntpdate</tt> 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 firewall. Note that the <tt>-d</tt> option
|
|
|
|
always uses unprivileged ports.</dd>
|
|
|
|
|
|
|
|
<dt><tt>-<i>v</i></tt></dt>
|
|
|
|
|
|
|
|
<dd>Be verbose. This option will cause <tt>ntpdate</tt>'s version
|
|
|
|
identification string to be logged.</dd>
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
<h4>Files</h4>
|
|
|
|
|
|
|
|
<tt>/etc/ntp.keys</tt> - encryption keys used by <tt>ntpdate</tt>.
|
|
|
|
|
|
|
|
<h4>Bugs</h4>
|
|
|
|
|
|
|
|
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 values of the kernel variables
|
|
|
|
<tt>tick</tt> and <tt>tickadj</tt>.
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<a href="index.htm"><img align="left" src="pic/home.gif" alt=
|
|
|
|
"gif"></a>
|
|
|
|
|
|
|
|
<address><a href="mailto:mills@udel.edu">David L. Mills
|
|
|
|
<mills@udel.edu></a></address>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|