1.Linux系统中时间分类:
Linux时钟分为系统时钟和硬件时钟;系统时钟是Linux Kernel中的时钟,Linux系统中所有的时间调用(除了直接访问硬件时钟外)都是使用这个时间。
查看系统时钟的命令:date;
硬件时钟是主板BIOS中的时间,由主板电池供电进行维护。
查看硬件时钟的命令:hwclock --show 或 hwclock -r。
2.系统时钟和硬件时钟的关系:
当Linux系统启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件时钟运作。
3.系统时钟和硬件时钟同步
将系统时钟同步给硬件时钟:hwclock -w 或者 hwclock --systohc
将硬件时钟同步给系统时钟:hwclock -s 或者 hwclock --hctosys
其中,hc代表硬件时间,sys代表系统时间
当系统时钟、硬件时钟都与实际不符时,可以进行时钟修改和设置。
4.修改和设置系统时钟和硬件时钟
以Centos6.x为例
(1)设置系统日期:date -s 11/03/2009
(2)设置系统时间:date -s 17:55:55
(3)设置硬件时钟:hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)
(4)设置时区:vi /etc/sysconfig/clock
ZONE="Asia/Shanghai"
以Centos7.x为例
(1)设置系统日期:timedatectl set-time 2018-08-30
(2)设置系统时间:timedatectl set-time 10:25:17
(3)更新时区:timedatectl set-timezone Asia/Shanghai
当然人为设置会有误差,如果能够联网,可以使系统时间、硬件时间与网络时间进行同步。
5.Linux联网自动更新时间
首先说下NTP(Network Time Protocol)网络时间协议,是用来使计算机时间同步化的一种协议。利用NTP服务器对Linux服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。
常用的NTP服务器地址:
(1)NTP服务器(上海) :ntp.api.bz
(2)中国ntp服务器:cn.pool.ntp.org
(3)阿里云NTP时间源服务器:ntp1.aliyun.com,ntp2.aliyun.com
我这边ping这几台ntp服务器,其中NTP服务器(上海) 最快。
为了使Linux服务器与NTP服务器进行时间同步,需要以下几步:
(1)安装NTP客户端:yum -y install ntp
(2)修改时区为Shanghai :将Shanghai时区的文件拷贝并重命名为localtime翻到etc目录下,原先的localtime可以备份下。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(3)修改时钟文件,将时区改为上海时区
vim /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
(4)设置Linux开机启动时,Linux服务器与NTP服务器进行时间同步:
为开机启动文件rc.local添加如下内容
/usr/sbin/ntpdate -u ntp.api.bz >/dev/null 2>&1
/sbin/hwclock -w
第一句是与NTP服务器进行时间同步,更新了系统时钟
第二句是将系统时钟同步给硬件时钟
(5)还可以设置定时Linux服务器与NTP服务器进行时间同步
修改crontab文件,该文件是系统任务调度的配置文件
vim /etc/crontab
00 09 * * * /usr/sbin/ntpdate -u ntp.api.bz >/dev/null 2>&1; /sbin/hwclock -w
每天早上九点Linux系统与NTP服务进行时间同步。
#「闪光时刻」主题征集活动二期# #学问分享官#