Provided by: ntpsec-ntpdate_1.1.0+dfsg1-1_amd64 bug


       ntpdate - set the date and time via NTP


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


       ntpdate 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 (unless the option -q is used). 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.

       ntpdate 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  ntpd.  It  is  also  possible  to  run
       ntpdate  from  a cron script. However, it is important to note that ntpdate with contrived
       cron 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, the accuracy using  ntpdate  is

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

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


       -a key Enable  the  authentication  function and specify the key identifier to be used for
              authentication as the argument keyntpdate. 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() 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.

       -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.

       -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

       -e authdelay
              Specify  the  processing  delay  to perform an authentication function as the value
              authdelay, in seconds and fraction (see 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.

       -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.

       -o version
              Specify the NTP version for outgoing 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 default is 4.

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

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

       -t timeout
              Specify the maximum time waiting for a server response as  the  value  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.

       -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 identification string to be


       ntpdate's exit status is zero if it found a server and could update the clock, and nonzero


              - 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 tick and


       David L. Mills (
       This manpage converted from html to roff by Fabrizio Polacco <>