LinuxCommandLibrary

htpdate

Synchronize local date and time via HTTP headers from web servers.

TLDR

Synchronize date and time

$ sudo htpdate [host]
copy


Perform simulation of synchronization, without any action
$ htpdate -q [host]
copy


Compensate the systematic clock drift
$ sudo htpdate -x [host]
copy


Set time immediate after the synchronization
$ sudo htpdate -s [host]
copy

SYNOPSIS

htpdate [-046abdhlqstxD] [-i pid file] [-m minpoll] [-M maxpoll] [-p precision] [-P <proxyserver>[:port]] [-u user[:group]] <host[:port]> ...

DESCRIPTION

The HTTP Time Protocol (HTP) is used to synchronize a computer's time with web servers as reference time source. Htp will synchronize your computer's time to Greenwich Mean Time (GMT) via HTTP headers from web servers. The htpdate package includes a program for retrieving the date and time from remote machines via a network. Htpdate works through proxy servers. Accuracy of htpdate will be usually within 0.5 seconds (better with multiple servers). If this is not good enough for you, try the ntpd package.

OPTIONS

-0

HTTP/1.0 request (default is HTTP/1.1).

-4

Force IPv4 name resolution only. Default behaviour is to try IPv6 first and fall back to IPv4.

-6

Force IPv6 name resolution only.

-a

Adjust time smoothly (default in daemon mode).

-b

Burst mode uses multiple polls for each web server to enhance accuracy.

-d

Turn debug on. Shows the "raw" timestamp, round trip time, time delta and and basic statistics of web server responses. Useful to determining the quality of a specific web server as time source.

-h

Show help.

-i

Set the pid file (default /var/run/htpdate.pid).

-l

Use syslog for output (levels LOG_WARNING and LOG_INFO). Convenient if you use htpdate from cron.

-m -M

These options specify the minimum (-m) and maximum (-M) polling intervals for HTP requests, in seconds. The default range is between 30 minutes and 32 hours. Htpdate calculates the optimal polling frequency between minimum and maximum values. Only applicable when running in daemon mode.

-p

Precision (in milliseconds) specifies the operating accuracy of htpdate. Internally htpdate uses a different algorithm to detect a time offset, when precision is specified. Precision only has effect in daemon mode. Use with caution.

-q

Query web server and display time, but do not change time (default in interactive mode).

-s

Set time immediate. In daemon mode -s only applies the first poll.

-t

Turn off sanity time check. By default a time offset larger than a year, compared to current localtime, is rejected. With -t set, any time stamp will be accepted.

-u

Set the user and group that the server normally runs at (default is root).

-x

Let htpdate compensate for the systematisch clock drift.

-D

Run as daemon (requires root privileges).

-P

Proxy server hostname or ip-address.

host

Web server hostname or ip-address. Up to 16 hosts may be specified, but in general 3 to 5 hosts should be enough for a redundant and accurate setup.

port

Portnumber (default 80 and 8080 for proxy server)

EXAMPLES

Request time from web server (don't update local clock):
htpdate -q www.example.com

Verbose output (don't update local clock):
htpdate -d -q www.example.com

Adjust time smoothly and log output to syslog (eg. cron):
htpdate -a -l www.example.com

HTTP/1.0 request in IPv6 literal format (RFC 2732):
htpdate -0 [2001:DB8:1af6::123]:80

Run htpdate as daemon:
htpdate -D www.example.com

Daemon mode for the security minded:
htpdate -D -u nobody:nogroup www.example.com

SEE ALSO

rdate, timed, ntpd, adjtimex, ntp_adjtime, HTP implementation by Roy Keene (http://www.rkeene.org/oss/htp/)

AUTHOR

Eddy Vervest <eddy@vervest.org>, http://www.vervest.org/htp

Copied to clipboard