I know you've already figured this out, but I wanted to add some information for anyone who might stumble across this. It seems that you were confusing ntpd
(the ntp
package) with ntpdate
. ntpd
is a daemon that continuously keeps time in sync. It does this in a very involved, very safe, and fairly complex manner, and typically involves multiple timeservers. You can see the status of NTP's time synchronization, and the servers it is syncing with, by running:
ntpq -p
It's output is explained here.
The cronjob /etc/cron.daily/ntp
is for the sole purpose of processing daily stats from ntpd
's statsdir
. As far as whether this can be run multiple times per day, I'm sure there's a way, but you probably don't need to, and it might cause problems :)
What I believe you were originally thinking of was the manual NTP command ntpdate
. ntpdate <timeserver>
simply synchronizes time with a remote timeserver a single time. And, sure, you could run this command in cron
as frequently as you want. However, ntpdate
synchronization is not only less performant, but it results in considerably-less-synchronized time. It's a good way to quickly synchronize time for a server not running ntpd
, or if the clock is very badly out of sync, for an initial synchronization (ntpd
will only change the clock by so much at one time). You can't run ntpdate
while ntpd
is running, though.
ntpdate -b <timeserver>
is actually run by many Linux distributions at boot time, before ntpd
starts.