I've noticed that some embedded devices (such as OpenWRT, which runs on Busybox) use rdate to set the system time, instead of NTP. Rdate is an older time protocol, and I'm having trouble finding any working rdate servers in the United States.
Is it possible to for rdate to sync the time with NTP time servers?
Most of these public servers still accept TIME requests, the protocol used by rdate.
The rdate you have is a busybox applet that only speaks rdate, so no, it's not possible.
Your other option is to install an ntp client or an sntp (simple ntp) client, or to upgrade busybox to a version that has the ntpd applet. I don't know what packages are available to you, but
ntp
andmsntp
(both daemons) andntpdate
, bsdrdate
(both one shot, the latter does speak sntp) are the options I see on debian.Have you considered setting up your own server? Just setup a NTP on a publically accessible box, point it at a few good ntp servers. Setup the standard time service on your server. On a linux box you would need to install inetd if you don't have it, and then uncomment the time service in the /etc/inetd.conf. On a windows box you need to add the 'Simple TCP/IP services' feature.
Keep in mind that rdate is not really that good of a time service. Installing an sntp/ntp client will probably be a better choice if you need reliable time.
You can supply an rdate source from Unix (Linux) using either inetd or xinetd. The server is built in to both these servers.
Where possible, use ntp as noted above. Your ISP's DNS servers are likely to provide NTP services. These are likely closer on the net than any other servers. As suggested above, you should consider setting up an NTP server on your network.
OpenWRT has an ntp package, and can be uses as your NTP server.