Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
NTPDATE(8)		  BSD System Manager's Manual		    NTPDATE(8)

     ntpdate --	set the	date and time via NTP

     ntpdate [-bBdoqsuv] [-a key] [-e authdelay] [-k keyfile] [-o version]
	     [-p samples] [-t timeout] server ...

     Note: The functionality of	this program is	now available in the ntpd(8)
     program.  See the -q command line option in the ntpd(8) page.  After a
     suitable period of	mourning, the ntpdate utility is to be retired from
     this distribution.

     The ntpdate utility sets the local	date and time by polling the Network
     Time Protocol (NTP) server(s) given as the	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
     best of these.  Note that the accuracy and	reliability of ntpdate depends
     on	the number of servers, the number of polls each	time it	is run and the
     interval between runs.

     The following options are available:

     -a	key  Enable the	authentication function	and specify the	key identifier
	     to	be used	for authentication as the argument key.	 The keys and
	     key identifiers must match	in both	the client and server key
	     files.  The default is to disable the authentication function.

     -B	     Force the time to always be slewed	using the adjtime(2) system
	     call, even	if the measured	offset is greater than +-128 ms.  The
	     default is	to step	the time using settimeofday(2) if the offset
	     is	greater	than +-128 ms.	Note that, if the offset is much
	     greater than +-128	ms in this case, 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.

     -b	     Force the time to be stepped using	the settimeofday(2) system
	     call, rather than slewed (default)	using the adjtime(2) system
	     call.  This option	should be used when called from	a startup file
	     at	boot time.

     -d	     Enable the	debugging mode,	in which ntpdate will go through all
	     the steps,	but not	adjust the local clock.	 Information useful
	     for general debugging will	also be	printed.

     -e	authdelay
	     Specify the processing delay to perform an	authentication func-
	     tion as the value authdelay, in seconds and fraction (see ntpd(8)
	     for details).  This number	is usually small enough	to be negligi-
	     ble for most purposes, though specifying a	value may improve
	     timekeeping on very slow CPU's.

     -k	keyfile
	     Specify the path for the authentication key file as the string
	     keyfile.  The default is /etc/ntp.keys.  This file	should be in
	     the format	described in ntpd(8).

     -o	version
	     Specify the NTP version for outgoint packets as the integer
	     version, which can	be 1 or	2.  The	default	is 3.  This allows
	     ntpdate to	be used	with older NTP versions.

     -p	samples
	     Specify the number	of samples to be acquired from each server as
	     the integer samples, with values from 1 to	8 inclusive.  The de-
	     fault is 4.

     -q	     Query only	- don't	set the	clock.

     -s	     Divert logging output from	the standard output (default) to the
	     system syslog(3) facility.	 This is designed primarily for	conve-
	     nience of cron(8) scripts.

     -t	timeout
	     Specify the maximum time waiting for a server response as the
	     value timeout, in seconds and fraction.  The value	is rounded to
	     a multiple	of 0.2 seconds.	 The default is	1 second, a value
	     suitable for polling across a LAN.

     -u	     Direct ntpdate to use an unprivileged port	for 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 -d option always	uses
	     unprivileged ports.

     -v	     Be	verbose.  This option will cause ntpdate's version identifica-
	     tion string to be logged.

     The ntpdate utility 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 be-
     fore starting the NTP daemon ntpd(8).  It is also possible	to run ntpdate
     from a cron(8) script.  However, it is important to note that ntpdate
     with contrived cron(8) scripts is no substitute for the NTP daemon, which
     uses sophisticated	algorithms to maximize accuracy	and reliability	while
     minimizing	resource use.  Finally,	since ntpdate does not discipline the
     host clock	frequency as does ntpd(8), the accuracy	using ntpdate is lim-

     Time adjustments are made by ntpdate in one of two	ways.  If ntpdate de-
     termines the clock	is in error more than 0.5 second it will simply	step
     the time by calling the system settimeofday(2) routine.  If the error is
     less than 0.5 seconds, it will slew the time by calling the system
     adjtime(2)	routine.  The latter technique is less disruptive and more ac-
     curate when the error is small, and works quite well when ntpdate is run
     by	cron(8)	every hour or two.

     The ntpdate utility will decline to set the date if an NTP	server daemon
     (e.g., ntpd(8)) is	running	on the same host.  When	running	ntpdate	on a
     regular basis from	cron(8)	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.

     If	NetInfo	support	is compiled into ntpdate, then the server argument is
     optional if ntpdate can find a time server	in the NetInfo configuration
     for ntpd(8).

     /etc/ntp.keys  contains the encryption keys used by ntpdate.


     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 kern.clockrate.tick and

BSD				January	6, 2000				   BSD


Want to link to this manual page? Use this URL:

home | help