I have three Ubuntu EC2 instances on Amazon AWS (EU/Ireland), all set up as web server. I noticed the system date/time is incorrect in two of them (timezone is always set to UTC for my choice). Here is the output of
date -R for my PC (EU/Italy, 2 hours ahead of UTC) and for the servers:
lorenzo@LOCALPC ~ $ date -R Wed, 05 Jun 2013 09:48:19 +0200 ubuntu@AWS-EC2-1 ~ $ date -R # SHOULD BE 07:48 (-10 minutes) Wed, 05 Jun 2013 07:38:58 +0000 ubuntu@AWS-EC2-2 ~ $ date -R # SHOULD BE 07:48 (-15 minutes) Wed, 05 Jun 2013 07:33:55 +0000 ubuntu@AWS-EC2-3 ~ $ date -R # SHOULD BE 07:48 (-50 secs) Wed, 05 Jun 2013 07:47:29 +0000
As you can see, difference is significant for the first and second EC2 server. I tried using
ubuntu@AWS-EC2-1 ~ $ ntpdate 5 Jun 07:42:10 ntpdate: no servers can be used, exiting ubuntu@AWS-EC2-1 ~ $ cat /etc/default/ntpdate # The settings in this file are used by the program ntpdate-debian, but not # by the upstream program ntpdate. # Set to "yes" to take the server list from /etc/ntp.conf, from package ntp, # so you only have to keep it in one place. NTPDATE_USE_NTP_CONF=yes # List of NTP servers to use (Separate multiple servers with spaces.) # Not used if NTPDATE_USE_NTP_CONF is yes. NTPSERVERS="ntp.ubuntu.com" # Additional options to pass to ntpdate NTPOPTIONS=""
Reading first comment from the configuration file I just pasted, I tried
ubuntu@AWS-EC2-1 ~ $ sudo ntpdate-debian 5 Jun 07:51:58 ntpdate: step time server 126.96.36.199 offset 561.511643 sec
The ~560sec offset correspond to the ~10min I found before. After that command the system time is ok. It looks strange to me that the system does not do that automatically. Should I use a cron to do it?!? Am I missing something?
ntpdate, this answer (superuser.com/a/639516/562405) is useful.