---
name: "rdate"
section: "8"
platform: "linux"
package: "rdate"
version: "1:1.11-3"
release: "Debian 13 (Trixie)"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/rdate"
---

# rdate(8)

set the system's date from a remote host

## NAME

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

## SYNOPSIS

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

## DESCRIPTION

**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)](/inetd/8.md), or an RFC 5905 protocol SNTP/NTP server. By default, rdate uses the RFC 868 TCP** **protocol.**

**OpenRdate supports IPv4 and IPv6 protocols.**

## OPTIONS

- **-4**

  **Force rdate to use IPv4 addresses only.**

- **-6**

  **Force rdate to use IPv6 addresses only.**

- **-a**

  **Use the [adjtime(2)](/adjtime/2.md) call to gradually skew the local time to the remote time rather than just** **hopping.**

- **-b *sec***

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

- **-c**

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

- **-n**

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

- **-o *port***

  **Use** *port* **'***port***' instead of** *port* **37 (RFC 868) or 123 (SNTP, RFC 5905).**

- **-p**

  **Do not set, just print the remote time.**

- **-s**

  **Do not print the time.**

- **-u**

  **Use UDP instead of TCP as transport (for RFC 868 only; see -n option).**

- **-t *msec***

  **Does not set time if it took more than** *msec* **milliseconds to fetch time from network.**

- **-v**

  **Verbose output. Always show the adjustment.**

## FILES

- **/var/log/wtmp**

  **Record of date resets and time changes.**

## EXAMPLES

**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 ptbtime1.ptb.de
```

**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 ptbtime1.ptb.de | logger -t NTP
```

**To set the time through an ssh tunnel, use something like so:**

```
    ssh -f -L 10037:time.example.com:37 tyr.example.com sleep 10
    rdate -a -o 10037 localhost
```

## SEE ALSO

**[date(1)](/date/1.md), [adjtime(2)](/adjtime/2.md), [inetd(8)](/inetd/8.md), [ntpd(8)](/ntpd/8.md), [ntpdate(8)](/ntpdate/8.md), timed(8)**

## AUTHORS

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