Scroll to navigation

rdate(8) set the system's date from a remote host rdate(8)


rdate - set the system's date from a remote host


rdate [-46acnpsuv] [-b sec] [-o port] [-t msec] host


rdate displays and sets the local date and time from the host name or address given as the argument. The time source may be an RFC 868 TCP protocol server, which is usually implemented as a built-in service of inetd(8), or an RFC 5905 protocol SNTP/NTP server. By default, rdate uses the RFC 868 TCP protocol.

OpenRdate supports IPv4 and IPv6 protocols.


Force rdate to use IPv4 addresses only.
Force rdate to use IPv6 addresses only.
Use the adjtime(2) call to gradually skew the local time to the remote time rather than just hopping.
Use adjtime if clock difference is at most sec seconds or hop if difference is greater. This is the same as including of removing the option -a, based on clock difference.
Correct leap seconds. Sometimes required when synchronizing to an NTP server. When synchronizing using the RFC 868 protocol, use this option only if the server does not correctly account for leap seconds. You can determine if you need this parameter if you sync against an NTP server (with this parameter) or (recommended) check with a local radio controlled watch or phone service.
Use SNTP (old RFC 2030, currently RFC 5905) instead of the RFC 868 time protocol. SNTP will always use UDP protocol and its default port is 123.
Use port 'port' instead of port 37 (RFC 868) or 123 (SNTP, RFC 5905).
Do not set, just print the remote time.
Do not print the time.
Use UDP instead of TCP as transport (for RFC 868 only; see -n option).
Does not set time if it took more than msec milliseconds to fetch time from network.
Verbose output. Always show the adjustment.


Record of date resets and time changes.


To get the legal time in Germany, set the /etc/localtime symlink to /usr/share/zoneinfo/right/Europe/Berlin and issue the following command:

# rdate -ncv
The command of course assumes you have a working internet connection and DNS set up to connect to the server at Physikalisch-Technische Bundesanstalt in Braunschweig, Germany.

To gradually adjust time once an hour after the first "step" adjustment, put the following line into root's crontab:

58 * * * * rdate -ncav | logger -t NTP
To set the time through an ssh tunnel, use something like so:

ssh -f -L sleep 10
rdate -a -o 10037 localhost


date(1), adjtime(2), inetd(8), ntpd(8), ntpdate(8), timed(8)


OpenRdate was originally developed by David Snyder and was based in rdate, created by Christos Zoulas in 1994 for OpenBSD Project. Over time, OpenRdate got several contributions from people.

This manual page was written by Christos Zoulas. It was changed by Anibal Monsalve Salazar for the Debian Project and updated by Joao Eriberto Mota Filho.

14 Feb 2022 rdate-1.11