a25439b686
Reviewed by: delphij (suggested MFC) Approved by: roberto Security: CVE-2015-1798, CVE-2015-1799 Security: VuXML ebd84c96-dd7e-11e4-854e-3c970e169bc2 MFC after: 1 month
625 lines
27 KiB
HTML
625 lines
27 KiB
HTML
<html lang="en">
|
|
<head>
|
|
<title>Sntp User's Manual</title>
|
|
<meta http-equiv="Content-Type" content="text/html">
|
|
<meta name="description" content="Sntp User's Manual">
|
|
<meta name="generator" content="makeinfo 4.7">
|
|
<link title="Top" rel="top" href="#Top">
|
|
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
<style type="text/css"><!--
|
|
pre.display { font-family:inherit }
|
|
pre.format { font-family:inherit }
|
|
pre.smalldisplay { font-family:inherit; font-size:smaller }
|
|
pre.smallformat { font-family:inherit; font-size:smaller }
|
|
pre.smallexample { font-size:smaller }
|
|
pre.smalllisp { font-size:smaller }
|
|
span.sc { font-variant:small-caps }
|
|
span.roman { font-family: serif; font-weight: normal; }
|
|
--></style>
|
|
</head>
|
|
<body>
|
|
<h1 class="settitle">Sntp User's Manual</h1>
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="Top"></a>Next: <a rel="next" accesskey="n" href="#sntp-Description">sntp Description</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#dir">(dir)</a>,
|
|
Up: <a rel="up" accesskey="u" href="#dir">(dir)</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h2 class="unnumbered">Simple Network Time Protocol User Manual</h2>
|
|
|
|
<p>This document describes the use of the NTP Project's <code>sntp</code> program,
|
|
that can be used to query a Network Time Protocol (NTP) server and
|
|
display the time offset of the system clock relative to the server
|
|
clock. Run as root, it can correct the system clock to this offset as
|
|
well. It can be run as an interactive command or from a cron job.
|
|
|
|
<p>This document applies to version 4.2.8p2 of <code>sntp</code>.
|
|
|
|
<p>The program implements the SNTP protocol as defined by RFC 5905, the NTPv4
|
|
IETF specification.
|
|
|
|
<div class="shortcontents">
|
|
<h2>Short Contents</h2>
|
|
<ul>
|
|
<a href="#Top">Simple Network Time Protocol User Manual</a>
|
|
</ul>
|
|
</div>
|
|
|
|
<ul class="menu">
|
|
<li><a accesskey="1" href="#sntp-Description">sntp Description</a>: Description
|
|
<li><a accesskey="2" href="#sntp-Invocation">sntp Invocation</a>: Invoking sntp
|
|
<li><a accesskey="3" href="#Usage">Usage</a>: Usage
|
|
</ul>
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-Description"></a>
|
|
<br>
|
|
</div>
|
|
|
|
<!-- node-name, next, previous, up -->
|
|
<h3 class="section">Description</h3>
|
|
|
|
<p>By default, <code>sntp</code> writes the local data and time (i.e., not UTC) to the
|
|
standard output in the format:
|
|
|
|
<pre class="example"> 1996-10-15 20:17:25.123 (+0800) +4.567 +/- 0.089 secs
|
|
</pre>
|
|
<p>where
|
|
YYYY-MM-DD HH:MM:SS.SUBSEC is the local date and time,
|
|
(+0800) is the local timezone adjustment (so we would add 8 hours and 0 minutes to convert the reported local time to UTC),
|
|
and
|
|
the +4.567 +/- 0.089 secs indicates the time offset and
|
|
error bound of the system clock relative to the server clock.
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-Invocation"></a>
|
|
<br>
|
|
</div>
|
|
|
|
<h3 class="section">Invoking sntp</h3>
|
|
|
|
<p><a name="index-sntp-1"></a><a name="index-standard-Simple-Network-Time-Protocol-client-program-2"></a>
|
|
|
|
<p><code>sntp</code>
|
|
can be used as an SNTP client to query a NTP or SNTP server and either display
|
|
the time or set the local system's time (given suitable privilege). It can be
|
|
run as an interactive command or from a
|
|
<code>cron</code>
|
|
job.
|
|
|
|
<p>NTP (the Network Time Protocol) and SNTP (the Simple Network Time Protocol)
|
|
are defined and described by RFC 5905.
|
|
|
|
<p>The default is to write the estimated correct local date and time (i.e. not
|
|
UTC) to the standard output in a format like:
|
|
|
|
<p><code>'1996-10-15 20:17:25.123 (+0800) +4.567 +/- 0.089 [host] IP sN'</code>
|
|
|
|
<p>where the
|
|
<code>'(+0800)'</code>
|
|
means that to get to UTC from the reported local time one must
|
|
add 8 hours and 0 minutes,
|
|
the
|
|
<code>'+4.567'</code>
|
|
indicates the local clock is 4.567 seconds behind the correct time
|
|
(so 4.567 seconds must be added to the local clock to get it to be correct).
|
|
Note that the number of decimals printed for this value will change
|
|
based on the reported precision of the server.
|
|
<code>'+/- 0.089'</code>
|
|
is the reported
|
|
<em>synchronization</em> <em>distance</em>
|
|
(in seconds), which represents the maximum error due to all causes.
|
|
If the server does not report valid data needed to calculate the
|
|
synchronization distance, this will be reported as
|
|
<code>'+/- ?'</code>.
|
|
If the
|
|
<em>host</em>
|
|
is different from the
|
|
<em>IP</em>,
|
|
both will be displayed.
|
|
Otherwise, only the
|
|
<em>IP</em>
|
|
is displayed.
|
|
Finally, the
|
|
<em>stratum</em>
|
|
of the host is reported
|
|
and the leap indicator is decoded and displayed.
|
|
|
|
<p>This section was generated by <strong>AutoGen</strong>,
|
|
using the <code>agtexi-cmd</code> template and the option descriptions for the <code>sntp</code> program.
|
|
This software is released under the NTP license, <http://ntp.org/license>.
|
|
|
|
<ul class="menu">
|
|
<li><a accesskey="1" href="#sntp-usage">sntp usage</a>: sntp help/usage (<span class="option">--help</span>)
|
|
<li><a accesskey="2" href="#sntp-ipv4">sntp ipv4</a>: ipv4 option (-4)
|
|
<li><a accesskey="3" href="#sntp-ipv6">sntp ipv6</a>: ipv6 option (-6)
|
|
<li><a accesskey="4" href="#sntp-authentication">sntp authentication</a>: authentication option (-a)
|
|
<li><a accesskey="5" href="#sntp-broadcast">sntp broadcast</a>: broadcast option (-b)
|
|
<li><a accesskey="6" href="#sntp-concurrent">sntp concurrent</a>: concurrent option (-c)
|
|
<li><a accesskey="7" href="#sntp-gap">sntp gap</a>: gap option (-g)
|
|
<li><a accesskey="8" href="#sntp-kod">sntp kod</a>: kod option (-K)
|
|
<li><a accesskey="9" href="#sntp-keyfile">sntp keyfile</a>: keyfile option (-k)
|
|
<li><a href="#sntp-logfile">sntp logfile</a>: logfile option (-l)
|
|
<li><a href="#sntp-steplimit">sntp steplimit</a>: steplimit option (-M)
|
|
<li><a href="#sntp-ntpversion">sntp ntpversion</a>: ntpversion option (-o)
|
|
<li><a href="#sntp-usereservedport">sntp usereservedport</a>: usereservedport option (-r)
|
|
<li><a href="#sntp-timeout">sntp timeout</a>: timeout option (-t)
|
|
<li><a href="#sntp-wait">sntp wait</a>: wait option
|
|
<li><a href="#sntp-config">sntp config</a>: presetting/configuring sntp
|
|
<li><a href="#sntp-exit-status">sntp exit status</a>: exit status
|
|
<li><a href="#sntp-Usage">sntp Usage</a>: Usage
|
|
<li><a href="#sntp-Authors">sntp Authors</a>: Authors
|
|
</ul>
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-usage"></a>Next: <a rel="next" accesskey="n" href="#sntp-ipv4">sntp ipv4</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">sntp help/usage (<span class="option">--help</span>)</h4>
|
|
|
|
<p><a name="index-sntp-help-3"></a>
|
|
This is the automatically generated usage text for sntp.
|
|
|
|
<p>The text printed is the same whether selected with the <code>help</code> option
|
|
(<span class="option">--help</span>) or the <code>more-help</code> option (<span class="option">--more-help</span>). <code>more-help</code> will print
|
|
the usage text by passing it through a pager program.
|
|
<code>more-help</code> is disabled on platforms without a working
|
|
<code>fork(2)</code> function. The <code>PAGER</code> environment variable is
|
|
used to select the program, defaulting to <span class="file">more</span>. Both will exit
|
|
with a status code of 0.
|
|
|
|
<pre class="example">sntp - standard Simple Network Time Protocol client program - Ver. 4.2.8p2
|
|
Usage: sntp [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \
|
|
[ hostname-or-IP ...]
|
|
Flg Arg Option-Name Description
|
|
-4 no ipv4 Force IPv4 DNS name resolution
|
|
- prohibits the option 'ipv6'
|
|
-6 no ipv6 Force IPv6 DNS name resolution
|
|
- prohibits the option 'ipv4'
|
|
-a Num authentication Enable authentication with the key auth-keynumber
|
|
-b Str broadcast Listen to the address specified for broadcast time sync
|
|
- may appear multiple times
|
|
-c Str concurrent Concurrently query all IPs returned for host-name
|
|
- may appear multiple times
|
|
-d no debug-level Increase debug verbosity level
|
|
- may appear multiple times
|
|
-D Num set-debug-level Set the debug verbosity level
|
|
- may appear multiple times
|
|
-g Num gap The gap (in milliseconds) between time requests
|
|
-K Fil kod KoD history filename
|
|
-k Fil keyfile Look in this file for the key specified with -a
|
|
-l Fil logfile Log to specified logfile
|
|
-M Num steplimit Adjustments less than steplimit msec will be slewed
|
|
- it must be in the range:
|
|
greater than or equal to 0
|
|
-o Num ntpversion Send int as our NTP protocol version
|
|
- it must be in the range:
|
|
0 to 7
|
|
-r no usereservedport Use the NTP Reserved Port (port 123)
|
|
-S no step OK to 'step' the time with settimeofday(2)
|
|
-s no slew OK to 'slew' the time with adjtime(2)
|
|
-t Num timeout The number of seconds to wait for responses
|
|
no wait Wait for pending replies (if not setting the time)
|
|
- disabled as '--no-wait'
|
|
- enabled by default
|
|
opt version output version information and exit
|
|
-? no help display extended usage information and exit
|
|
-! no more-help extended usage information passed thru pager
|
|
-> opt save-opts save the option state to a config file
|
|
-< Str load-opts load options from a config file
|
|
- disabled as '--no-load-opts'
|
|
- may appear multiple times
|
|
|
|
Options are specified by doubled hyphens and their name or by a single
|
|
hyphen and the flag character.
|
|
|
|
|
|
The following option preset mechanisms are supported:
|
|
- reading file $HOME/.ntprc
|
|
- reading file ./.ntprc
|
|
- examining environment variables named SNTP_*
|
|
|
|
Please send bug reports to: <http://bugs.ntp.org, bugs@ntp.org>
|
|
</pre>
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-ipv4"></a>Next: <a rel="next" accesskey="n" href="#sntp-ipv6">sntp ipv6</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-usage">sntp usage</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">ipv4 option (-4)</h4>
|
|
|
|
<p><a name="index-sntp_002dipv4-4"></a>
|
|
This is the “force ipv4 dns name resolution” option.
|
|
|
|
<p class="noindent">This option has some usage constraints. It:
|
|
<ul>
|
|
<li>must not appear in combination with any of the following options:
|
|
ipv6.
|
|
</ul>
|
|
|
|
<p>Force DNS resolution of the following host names on the command line
|
|
to the IPv4 namespace.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-ipv6"></a>Next: <a rel="next" accesskey="n" href="#sntp-authentication">sntp authentication</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-ipv4">sntp ipv4</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">ipv6 option (-6)</h4>
|
|
|
|
<p><a name="index-sntp_002dipv6-5"></a>
|
|
This is the “force ipv6 dns name resolution” option.
|
|
|
|
<p class="noindent">This option has some usage constraints. It:
|
|
<ul>
|
|
<li>must not appear in combination with any of the following options:
|
|
ipv4.
|
|
</ul>
|
|
|
|
<p>Force DNS resolution of the following host names on the command line
|
|
to the IPv6 namespace.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-authentication"></a>Next: <a rel="next" accesskey="n" href="#sntp-broadcast">sntp broadcast</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-ipv6">sntp ipv6</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">authentication option (-a)</h4>
|
|
|
|
<p><a name="index-sntp_002dauthentication-6"></a>
|
|
This is the “enable authentication with the key <var>auth-keynumber</var>” option.
|
|
This option takes a number argument <span class="file">auth-keynumber</span>.
|
|
Enable authentication using the key specified in this option's
|
|
argument. The argument of this option is the <span class="option">keyid</span>, a
|
|
number specified in the <span class="option">keyfile</span> as this key's identifier.
|
|
See the <span class="option">keyfile</span> option (<span class="option">-k</span>) for more details.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-broadcast"></a>Next: <a rel="next" accesskey="n" href="#sntp-concurrent">sntp concurrent</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-authentication">sntp authentication</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">broadcast option (-b)</h4>
|
|
|
|
<p><a name="index-sntp_002dbroadcast-7"></a>
|
|
This is the “listen to the address specified for broadcast time sync” option.
|
|
This option takes a string argument <span class="file">broadcast-address</span>.
|
|
|
|
<p class="noindent">This option has some usage constraints. It:
|
|
<ul>
|
|
<li>may appear an unlimited number of times.
|
|
</ul>
|
|
|
|
<p>If specified <code>sntp</code> will listen to the specified address
|
|
for NTP broadcasts. The default maximum wait time
|
|
can (and probably should) be modified with <span class="option">-t</span>.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-concurrent"></a>Next: <a rel="next" accesskey="n" href="#sntp-gap">sntp gap</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-broadcast">sntp broadcast</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">concurrent option (-c)</h4>
|
|
|
|
<p><a name="index-sntp_002dconcurrent-8"></a>
|
|
This is the “concurrently query all ips returned for host-name” option.
|
|
This option takes a string argument <span class="file">host-name</span>.
|
|
|
|
<p class="noindent">This option has some usage constraints. It:
|
|
<ul>
|
|
<li>may appear an unlimited number of times.
|
|
</ul>
|
|
|
|
<p>Requests from an NTP "client" to a "server" should never be sent
|
|
more rapidly than one every 2 seconds. By default, any IPs returned
|
|
as part of a DNS lookup are assumed to be for a single instance of
|
|
<code>ntpd</code>, and therefore <code>sntp</code> will send queries to these IPs
|
|
one after another, with a 2-second gap in between each query.
|
|
|
|
<p>The <span class="option">-c</span> or <span class="option">--concurrent</span> flag says that any IPs
|
|
returned for the DNS lookup of the supplied host-name are on
|
|
different machines, so we can send concurrent queries.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-gap"></a>Next: <a rel="next" accesskey="n" href="#sntp-kod">sntp kod</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-concurrent">sntp concurrent</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">gap option (-g)</h4>
|
|
|
|
<p><a name="index-sntp_002dgap-9"></a>
|
|
This is the “the gap (in milliseconds) between time requests” option.
|
|
This option takes a number argument <span class="file">milliseconds</span>.
|
|
Since we're only going to use the first valid response we get and
|
|
there is benefit to specifying a good number of servers to query,
|
|
separate the queries we send out by the specified number of
|
|
milliseconds.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-kod"></a>Next: <a rel="next" accesskey="n" href="#sntp-keyfile">sntp keyfile</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-gap">sntp gap</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">kod option (-K)</h4>
|
|
|
|
<p><a name="index-sntp_002dkod-10"></a>
|
|
This is the “kod history filename” option.
|
|
This option takes a file argument <span class="file">file-name</span>.
|
|
Specifies the filename to be used for the persistent history of KoD
|
|
responses received from servers. If the file does not exist, a
|
|
warning message will be displayed. The file will not be created.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-keyfile"></a>Next: <a rel="next" accesskey="n" href="#sntp-logfile">sntp logfile</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-kod">sntp kod</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">keyfile option (-k)</h4>
|
|
|
|
<p><a name="index-sntp_002dkeyfile-11"></a>
|
|
This is the “look in this file for the key specified with <span class="option">-a</span>” option.
|
|
This option takes a file argument <span class="file">file-name</span>.
|
|
This option specifies the keyfile.
|
|
<code>sntp</code> will search for the key specified with <span class="option">-a</span>
|
|
<span class="file">keyno</span> in this file. See <span class="command">ntp.keys(5)</span> for more
|
|
information.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-logfile"></a>Next: <a rel="next" accesskey="n" href="#sntp-steplimit">sntp steplimit</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-keyfile">sntp keyfile</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">logfile option (-l)</h4>
|
|
|
|
<p><a name="index-sntp_002dlogfile-12"></a>
|
|
This is the “log to specified logfile” option.
|
|
This option takes a file argument <span class="file">file-name</span>.
|
|
This option causes the client to write log messages to the specified
|
|
<span class="file">logfile</span>.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-steplimit"></a>Next: <a rel="next" accesskey="n" href="#sntp-ntpversion">sntp ntpversion</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-logfile">sntp logfile</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">steplimit option (-M)</h4>
|
|
|
|
<p><a name="index-sntp_002dsteplimit-13"></a>
|
|
This is the “adjustments less than <var>steplimit</var> msec will be slewed” option.
|
|
This option takes a number argument.
|
|
If the time adjustment is less than <span class="file">steplimit</span> milliseconds,
|
|
slew the amount using <span class="command">adjtime(2)</span>. Otherwise, step the
|
|
correction using <span class="command">settimeofday(2)</span>. The default value is 0,
|
|
which means all adjustments will be stepped. This is a feature, as
|
|
different situations demand different values.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-ntpversion"></a>Next: <a rel="next" accesskey="n" href="#sntp-usereservedport">sntp usereservedport</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-steplimit">sntp steplimit</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">ntpversion option (-o)</h4>
|
|
|
|
<p><a name="index-sntp_002dntpversion-14"></a>
|
|
This is the “send <var>int</var> as our ntp protocol version” option.
|
|
This option takes a number argument.
|
|
When sending requests to a remote server, tell them we are running
|
|
NTP protocol version <span class="file">ntpversion</span> .
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-usereservedport"></a>Next: <a rel="next" accesskey="n" href="#sntp-timeout">sntp timeout</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-ntpversion">sntp ntpversion</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">usereservedport option (-r)</h4>
|
|
|
|
<p><a name="index-sntp_002dusereservedport-15"></a>
|
|
This is the “use the ntp reserved port (port 123)” option.
|
|
Use port 123, which is reserved for NTP, for our network
|
|
communications.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-timeout"></a>Next: <a rel="next" accesskey="n" href="#sntp-wait">sntp wait</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-usereservedport">sntp usereservedport</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">timeout option (-t)</h4>
|
|
|
|
<p><a name="index-sntp_002dtimeout-16"></a>
|
|
This is the “the number of seconds to wait for responses” option.
|
|
This option takes a number argument <span class="file">seconds</span>.
|
|
When waiting for a reply, <code>sntp</code> will wait the number
|
|
of seconds specified before giving up. The default should be
|
|
more than enough for a unicast response. If <code>sntp</code> is
|
|
only waiting for a broadcast response a longer timeout is
|
|
likely needed.
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-wait"></a>Next: <a rel="next" accesskey="n" href="#sntp-config">sntp config</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-timeout">sntp timeout</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">wait option</h4>
|
|
|
|
<p><a name="index-sntp_002dwait-17"></a>
|
|
This is the “wait for pending replies (if not setting the time)” option.
|
|
|
|
<p class="noindent">This option has some usage constraints. It:
|
|
<ul>
|
|
<li>can be disabled with –no-wait.
|
|
<li>It is enabled by default.
|
|
</ul>
|
|
|
|
<p>If we are not setting the time, wait for all pending responses.
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-config"></a>Next: <a rel="next" accesskey="n" href="#sntp-exit-status">sntp exit status</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-wait">sntp wait</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">presetting/configuring sntp</h4>
|
|
|
|
<p>Any option that is not marked as <i>not presettable</i> may be preset by
|
|
loading values from configuration ("rc" or "ini") files, and values from environment variables named <code>SNTP</code> and <code>SNTP_<OPTION_NAME></code>. <code><OPTION_NAME></code> must be one of
|
|
the options listed above in upper case and segmented with underscores.
|
|
The <code>SNTP</code> variable will be tokenized and parsed like
|
|
the command line. The remaining variables are tested for existence and their
|
|
values are treated like option arguments.
|
|
|
|
<p class="noindent"><code>libopts</code> will search in 2 places for configuration files:
|
|
<ul>
|
|
<li>$HOME
|
|
<li>$PWD
|
|
</ul>
|
|
The environment variables <code>HOME</code>, and <code>PWD</code>
|
|
are expanded and replaced when <span class="file">sntp</span> runs.
|
|
For any of these that are plain files, they are simply processed.
|
|
For any that are directories, then a file named <span class="file">.ntprc</span> is searched for
|
|
within that directory and processed.
|
|
|
|
<p>Configuration files may be in a wide variety of formats.
|
|
The basic format is an option name followed by a value (argument) on the
|
|
same line. Values may be separated from the option name with a colon,
|
|
equal sign or simply white space. Values may be continued across multiple
|
|
lines by escaping the newline with a backslash.
|
|
|
|
<p>Multiple programs may also share the same initialization file.
|
|
Common options are collected at the top, followed by program specific
|
|
segments. The segments are separated by lines like:
|
|
<pre class="example"> [SNTP]
|
|
</pre>
|
|
<p class="noindent">or by
|
|
<pre class="example"> <?program sntp>
|
|
</pre>
|
|
<p class="noindent">Do not mix these styles within one configuration file.
|
|
|
|
<p>Compound values and carefully constructed string values may also be
|
|
specified using XML syntax:
|
|
<pre class="example"> <option-name>
|
|
<sub-opt>...&lt;...&gt;...</sub-opt>
|
|
</option-name>
|
|
</pre>
|
|
<p class="noindent">yielding an <code>option-name.sub-opt</code> string value of
|
|
<pre class="example"> "...<...>..."
|
|
</pre>
|
|
<p><code>AutoOpts</code> does not track suboptions. You simply note that it is a
|
|
hierarchicly valued option. <code>AutoOpts</code> does provide a means for searching
|
|
the associated name/value pair list (see: optionFindValue).
|
|
|
|
<p>The command line options relating to configuration and/or usage help are:
|
|
|
|
<h5 class="subsubheading">version (-)</h5>
|
|
|
|
<p>Print the program version to standard out, optionally with licensing
|
|
information, then exit 0. The optional argument specifies how much licensing
|
|
detail to provide. The default is to print just the version. The licensing infomation may be selected with an option argument.
|
|
Only the first letter of the argument is examined:
|
|
|
|
<dl>
|
|
<dt><span class="samp">version</span><dd>Only print the version. This is the default.
|
|
<br><dt><span class="samp">copyright</span><dd>Name the copyright usage licensing terms.
|
|
<br><dt><span class="samp">verbose</span><dd>Print the full copyright usage licensing terms.
|
|
</dl>
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-exit-status"></a>Next: <a rel="next" accesskey="n" href="#sntp-Usage">sntp Usage</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-config">sntp config</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">sntp exit status</h4>
|
|
|
|
<p>One of the following exit values will be returned:
|
|
<dl>
|
|
<dt><span class="samp">0 (EXIT_SUCCESS)</span><dd>Successful program execution.
|
|
<br><dt><span class="samp">1 (EXIT_FAILURE)</span><dd>The operation failed or the command syntax was not valid.
|
|
<br><dt><span class="samp">66 (EX_NOINPUT)</span><dd>A specified configuration file could not be loaded.
|
|
<br><dt><span class="samp">70 (EX_SOFTWARE)</span><dd>libopts had an internal operational error. Please report
|
|
it to autogen-users@lists.sourceforge.net. Thank you.
|
|
</dl>
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-Usage"></a>Next: <a rel="next" accesskey="n" href="#sntp-Authors">sntp Authors</a>,
|
|
Previous: <a rel="previous" accesskey="p" href="#sntp-exit-status">sntp exit status</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">sntp Usage</h4>
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="sntp-Authors"></a>Previous: <a rel="previous" accesskey="p" href="#sntp-Usage">sntp Usage</a>,
|
|
Up: <a rel="up" accesskey="u" href="#sntp-Invocation">sntp Invocation</a>
|
|
<br>
|
|
</div>
|
|
|
|
<h4 class="subsection">sntp Authors</h4>
|
|
|
|
<div class="node">
|
|
<p><hr>
|
|
<a name="Usage"></a>
|
|
<br>
|
|
</div>
|
|
|
|
<!-- node-name, next, previous, up -->
|
|
<h3 class="section">Usage</h3>
|
|
|
|
<p>The simplest use of this program is as an unprivileged command to
|
|
check the current time, offset, and error in the local clock.
|
|
For example:
|
|
|
|
<pre class="example"> sntp ntpserver.somewhere
|
|
</pre>
|
|
<p>With suitable privilege, it can be run as a command or in a
|
|
<code>crom</code> job to reset the local clock from a reliable server, like
|
|
the <code>ntpdate</code> and <code>rdate</code> commands.
|
|
For example:
|
|
|
|
<pre class="example"> sntp -a ntpserver.somewhere
|
|
</pre>
|
|
</body></html>
|
|
|