186 lines
6.4 KiB
HTML
186 lines
6.4 KiB
HTML
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
||
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
|
||
|
<TITLE>ntpdate - set the date and time via NTP
|
||
|
</TITLE>
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
|
||
|
<H3>
|
||
|
<TT>ntpdate</TT> - set the date and time via NTP</H3>
|
||
|
|
||
|
<HR>
|
||
|
<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>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><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>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>.
|
||
|
|
||
|
<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>
|
||
|
<ADDRESS>
|
||
|
David L. Mills (mills@udel.edu)</ADDRESS>
|
||
|
|
||
|
</BODY>
|
||
|
</HTML>
|