linux系统下的时间配置综述

一.时间类型分为:

1.网络时间(设置时区,ntp服务器同步的时间)

2.系统时间,当前系统所显示的时间

3.硬件(RTC)时间,主板上面Bios的时间

一般设置为:系统时间与网络时间同步,系统时间写入硬件时间。

二.时间的查看方式:

1.查看硬件时间

  #hwclock

2.查看系统时间

  date

3.网络时间的更新及查看

  #ntpdate xxxxxx  xxxxxx为在/etc/ntp.conf文件中设置的时间服务器

四.时间的修改方式

1.系统时间的修改

  将时间设置为13点11分03秒  #date -s 13:11:03

2.硬件时间的修改

  #hwclock --set --date='03/21/2019 15:20';    设置硬件时间为2019年3月21日15:20

3.网络时间的修改

  1.网络时间要通过修改时区来进行修改  tzselect 不确定时区的需要使用这个命令找到自己所在的时区  2.大部分中国用户都是使用亚洲/上海,所以用下面这条命令更新为上海时区   #cp -v /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  3.与网络服务器同步时间  #ntpdate xxxxxx  xxxxxx为在/etc/ntp.conf文件中设置的时间服务器

五.时间互相写入

1.硬件时间写入系统时间

  #hwclock -s

2.系统时间同步网络时间

  #ntpdate xxxxxx  xxxxxx为在/etc/ntp.conf文件中设置的时间服务器

3.系统时间写入硬件时间

  #hwclock -w

六.双系统时间误差问题的原因及解决方案

1.硬件时间的格式

1.本地时间:localtime(windows所使用的时间)

2.世界标准时间:UTC(linux/unix所使用的时间)

2.windows与linux/unix对硬件时间解读的区别

windows使用localtime(本地时间)作为系统时间

linux/unix使用UTC(世界标准时间)与时区进行换算的出的时间作为系统时间,因为北京时间使用东八区时间,所以是UTC+8换算后为系统时间

3.windows与linux/unix时间误差的原因

使用windows系统时与网络同步时间的同时将localtime时间写入硬件时间(注意这时候windows系统时间和硬件时间已经同步相同的时间),使用linux/unix的设置中硬件时间是UTC时间所以它在已经同步的正确的时间基础上面加了8小时,反之同理,导致时间误差。

4.windows与linux/unix时间误差的解决方案

方法1.windows:

1.使用UTC时间作为本地时间

方法2.linux:

1.使用localtime时间作为硬件时间 (适合于使用systemd管理服务的linux发行版)

2.使用网络时间作为本地时间,并且不与硬件时间互相同步(适用于使用init管理服务的linux发行版)

目前大多数发行版本都使用systemd为服务管理器

5.windows与linux/unix时间误差的具体操作

方法一:windows

1.以管理员身份打开cmd

执行:

  Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

方法二:linux

1.使用localtime作为硬件时间(适合于使用systemd管理服务的linux发行版)

  #hwclock --localtime

或者

root用户修改文件/etc/adjtime文件内容的UTC为LOCAL

2.设置linux不使用硬件时间同步(适用于使用init管理服务的linux发行版)

root用户修改文件/etc/sysconfig/clock文件内容的UTC=1为UTC=0

如有不足麻烦各位前辈评论补充!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

参与评论