- 应用场景:服务器时间和数据库时间不一致,导致定时任务不能及时调度,需要调整服务器时间。
eg:select * from ps_control where status != 1 and lastTime<DATE_ADD(NOW(),INTERVAL-10 MINUTE) and lastTime > DATE_ADD(NOW(),INTERVAL -10 DAY) ;
lastTime 的值是取得服务器看时间,但是定时任务扫描时,是拿着这个字段和数据库处理之后的当前时间作比较, 如果服务器时间比数据库时间快3分钟,定时任务每5分钟跑一次,正常这笔记录应该最长15分钟会跑到,但实际上因为服务器和数据库的时间差异,导致该条数据至少要多等3分钟。所以需要同步数据库和服务器的时间,到数据库所在服务器修改数据库时间,如下:
- 同步阿里云服务器时间
yum install ntpdate
ntpdate ntp1.aliyun.com
- 手动修改系统时间
date -s "20180423 15:53:00"
- 自动同步time.windows.com时间
ntpdate time.windows.com
- 查看系统时间
date#查看BIOS时间
hwclock
- 将系统时间强制写入BIOS
hwclock -w
-
常用
ntpdate
对时服务器
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国:time.nist.gov
复旦: ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
北京邮电大学 :s1a.time.edu.cn
清华大学 :s1b.time.edu.cn
北京大学 :s1c.time.edu.cn
台警大授时中心(台湾):asia.pool.ntp.org
-
如果你的数据库所在服务器时间和应用服务器时间不一致【同步更新服务器时间和数据库时间,找一个服务器时间作为参考标准,ntpdate + 待参照服务器时间】
ntpdate -u ntp.api.bz
ntpdate 120.25.115.20