大家好,又见面了,我是你们的朋友全栈君。
如果不是北京时间先改成北京时间
读取当前时间 timedatectl
设置时区为亚洲/上海 timedatectl set-timezone Asia/Shanghai
1.删除自带的localtime rm -rf /etc/localtime 2.创建软链接到localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
在同步时间
方法一:
使用ntpdate比较简单
安装ntpdate
yum install ntpdate
ntpdate -u ntp.api.bz
ntpdate ntp1.aliyun.com //直接用域名同步中国上海时间
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
做个定时
crontab -e
0 5 * * * /usr/sbin/ntpdate -u ntp.api.bz #5点时间同步
0 12 * * * /usr/sbin/ntpdate 192.168.0.1 同步两台机器的时间(如果服务器是内网不能联网,就同步那个时间准的有的路由就自带时间同步,可以直接同步)
配置文件在 /etc/sysconfig/ntpdate 最后一行改成yes 与硬件时间同步
硬件时间 hwclock -r
把硬件同步系统时间里面 hwclock -w
设置系统时间 也可以是年月日时间格式 date –set “2022-04-14 18:18:19”
直接设置硬件时间
# hwclock –set –date=”4/28/05 11:10:05″(月/日/年 时:分:秒)
# clock –set –date=”07/07/06 10:19″ (月/日/年 时:分:秒)
如果让系统时间与硬件时钟同步,则用
# hwclock –hctosys (hc代表硬件时间,sys代表系统时间)
# clock –systohc 系统时钟和硬件时钟同步
方法二:
使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。
要注意的是,ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ntpd服务。ntpd服务 运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.
以下是一些可能可以用的NTP服务器地址(仅供参考,网上找的)
三 、局域网同步时间
解决方式如果是单机的手设置时间就可以了,以后就按这个时间执行, 如果是集群的,时间要求又严格,可以以其中一台位基准, 其余几台以他的时间为基准进行内网时间同步。
ntpdate 192.168.0.1 0 12 * * * /usr/sbin/ntpdate 192.168.0.1 同步两台机器的时间(如果服务器是内网不能联网,就同步那个时间准的有的路由就自带时间同步,可以直接同步)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160150.html原文链接:https://javaforall.cn