Programs for keeping computer clocks accurate
chrony is a pair of programs for keeping computer clocks accurate. chronyd is a background (daemon) program and chronyc is a command-line interface to it. Time reference sources for chronyd can be RFC1305 NTP servers, human (via keyboard and chronyc), or the computer's real-time clock at boot time (Linux only). chronyd can determine the rate at which the computer gains or loses time and compensate for it while no external reference is present. Its use of NTP servers can be switched on and off (through chronyc) to support computers with dial-up/intermittent access to the Internet, and it can also act as an RFC1305-compatible NTP server.
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.
chronyd's main function is to obtain measurements of the true (UTC) time from one of several sources, and correct the system clock accordingly. It also works out the rate at which the system clock gains or loses time and uses this information to keep it accurate between measurements from the reference.
The reference time can be derived from either Network Time Protocol (NTP) servers, reference clocks, or wristwatch-and-keyboard (via chronyc). The main source of information about the Network Time Protocol is http://www.ntp.org.
It is designed so that it can work on computers which only have intermittent access to reference sources, for example computers which use a dial-up account to access the Internet or laptops. Of course, it will work well on computers with permanent connections too.
In addition, on Linux it can monitor the system's real time clock performance, so the system can maintain accurate time even across reboots.
Typical accuracies available between 2 machines are
On an ethernet LAN : 100-200 microseconds, often much better On a V32bis dial-up modem connection : 10's of milliseconds (from one session to the next)
With a good reference clock the accuracy can reach one microsecond.
chronyd can also operate as an RFC1305-compatible NTP server and peer.