chrony is a versatile implementation of the Network Time Protocol (NTP).
It can synchronise the system clock with NTP servers, reference clocks
(e.g. GPS receiver), and manual input using wristwatch and keyboard.
It can also operate as an NTPv4 (RFC 5905) server and peer to provide
a time service to other computers in the network.
It is designed to perform well in a wide range of conditions, including intermittent network connections, heavily congested networks, changing temperatures (ordinary computer clocks are sensitive to temperature), and systems that do not run continuously, or run on a virtual machine.
Typical accuracy between two machines synchronised over the Internet is within a few milliseconds; on a LAN, accuracy is typically in tens of microseconds. With hardware timestamping, or a hardware reference clock, sub-microsecond accuracy may be possible.
Two programs are included in chrony, chronyd is a daemon that can be
started at boot time and chronyc is a command-line interface program which
can be used to monitor chronyd’s performance and to change various
operating parameters whilst it is running.
Supported systems
The software is known to work on Linux, FreeBSD, NetBSD, OpenBSD, macOS, and illumos. Closely related systems may work too. Any other system will likely require a porting exercise.
Contact
Bug reports, questions, and suggestions can be submitted to the project’s
GitLab tracker, or sent to the
chrony-users mailing list. Patches can be submitted as
merge requests, or to
the chrony-dev mailing list. See the mailing lists page
for more information.
When reporting a security issue, please report it to the GitLab tracker and mark it as a confidential issue.
chrony was originally written by Richard
Curnow. It is currently maintained and developed by
Miroslav Lichvar
(PGP key).
License
chrony is distributed under the GNU General Public License version 2.