linux系统时间与硬件时间的设置及同步

linux 的系统时间有时跟硬件时间是不同步的
Linux时钟分为系统时钟(System Clock)和硬件(Real
Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel
中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件
时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会
去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。
在Linux中,用于时钟查看和设置的命令主要有date、hwclock
和clock。其中,clock和hwclock用法相近,只用一个就行,
只不过clock命令除了支持x86硬件体系外,还支持Alpha硬
件体系。
1、date
查看系统时间
# date
设置系统时间
# date --set “07/07/06 10:19" (月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
# hwclock --show
或者# clock --show
设置硬件时间
# hwclock --set --date="07/07/06 10:19" (月/日/年 时:
分:秒)
或者# clock --set --date="07/07/06 10:19" (月/日/年 时:
分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,
实现同步,但是在不重新启动的时候,需要用hwclock或clock
命令实现同步。
硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表
硬件时间,sys代表系统时间)或者# clock --hctosys
系统时钟和硬件时钟同步:# hwclock --systohc或者#
clock --systohc

合集下载

时间篇之linux系统时间和RTC时间

时间篇之linux系统时间和RTC时间

时间篇之linux系统时间和RTC时间⼀、linux系统下包含两个时间:系统时间(刚启动时读取的是rtc时间)和RTC时间。

⼀般情况下都会选择芯⽚上最⾼精度的定时器作为系统时间的定时基准,以避免在系统运⾏较长时间后出现⼤的时间偏移。

特点是掉电后不保存。

所以⼀旦你重启机器后,那么系统需要重新从RTC上重新获取时间,保存到系统内核⽂件中。

RTC(real_time clock)驱动程序,可以在E:\linux内核\linux-2.6.0\linux-2.6.0\drivers\char\rtc.c中找到。

设备接⼝就是 /dev/rtc, 他负责跟rtc打交道,并读取rtc中维护的时间.它是⼀个从系统定时器中独⽴出来的虚拟设备,⽤于设置系统时钟,提供报警器或周期性的定时器.那么系统时间⼀直运⾏吗?显然在操作系统关闭或重启期间,服务器宕机期间,整个服务器的时间就依赖于RTC芯⽚。

从这我们看出linux系统时间和RTC时间是两套独⽴的计时体系,但它们之间⼜是相互依存的:1)刚安装操作系统后,若在安装过程不设置系统时间,那么默认的系统时间就是从服务器的RTC芯⽚中获取当前的硬件时间;2)在linux操作系统中,⼀旦修改系统时间后,⼜重启或关闭Linux系统,则OS通常会将系统时间更新到RTC;3)在操作系统再次启动的时候,Linux OS则会再次从RTC中获取当前的时间。

服务器异常下电后,待操作系统重新启动后,发现系统时间发⽣了跳变?其原因通常是:修改了操作系统时间,在服务器异常下电后,操作系统并未及时将修改后的时间更新到RTC,导致操作系统重新启动后,就会从RTC芯⽚中加载了之前“⽼”的时间,从⽽在操作系统层⾯体现为“时间跳变”⼆、关于jiffies⼀次中断时间间隔叫⼀个tick,即每个触发周期的时间叫做tick,⼀秒内时钟中断的次数(每个时间间隔就是⼀次)等于Hzhz别名就是tick rate(HZ)linux系统查看hz:[root@k3master ~]# cat /boot/config-`uname -r` | grep 'CONFIG_HZ='CONFIG_HZ=10001hz就是每秒1000次中断每次时钟中断处理程序即每发⽣⼀次tick都会增加jiffies该变量的值,jiffies⼀秒内增加的值也就是Hz(频率),⽐如:linux下默认是 1000次时钟中断次数/秒系统运⾏时间以秒为单位,换算⽅法等于jiffies/Hz。

银河麒麟的默认同步时间间隔

银河麒麟的默认同步时间间隔

银河麒麟操作系统的默认同步时间间隔并没有一个固定的数值,它是由用户自行设置的。

你可以在系统设置中找到相关的选项进行修改。

具体步骤如下:
1. 打开“控制面板”。

2. 点击“日期和时间”。

3. 在弹出的窗口中,点击“Internet时间”选项卡。

4. 点击“更改设置”按钮。

5. 在弹出的窗口中,你可以看到“服务器”一栏,这里可以输入你想要同步的时间服务器地址。

6. 在“同步频率”一栏,你可以设置同步的时间间隔。

注意:不同的网络环境,同步时间间隔可能会有所不同,需要根据实际情况进行调整。

centos 时间同步方法

centos 时间同步方法

centos 时间同步方法
CentOS系统时间同步的方法如下:
1. 安装ntpdate工具。

使用命令`yum -y install ntp ntpdate`进行安装。

2. 设置系统时间与网络时间同步。

通过命令`ntpdate `实现。

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

使用命令`hwclock --systohc`实现。

4. 设置定时更新时间。

通过`crontab -e`命令设置定时任务,例如每天5:10自动进行网络校时,并同时更新BIOS的时间,可以使用命令`crontab -e
10 5 root ntpdate ;hwclock -w`。

5. 调整时区。

如果需要将当前时区调整为其他时区,可以查看
`/usr/share/zoneinfo`目录,并根据需要进行调整。

通过以上步骤,您可以在CentOS系统中实现时间同步,提高时间的准确度。

Linux搭建NTP服务器

Linux搭建NTP服务器

Linux搭建NTP服务器NTP服务器【Network Time Protocol(NTP】是⽤来使计算机时间同步化的⼀种协议,NTP服务器可以对其它服务器做时间同步化,从⽽达到时间统⼀。

配置环境及要求:A、假设10.8.9.0⽹段内,要以IP为10.8.9.159的Linux机器时间服务器(NTP服务器)。

B、 10.8.9.159服务器要保证能上外⽹,能与⽐较权威的公⽹时间服务器同步。

C、设置同⽹段内的10.8.9.160客户端每分钟向10.8.9.159服务器同步时间。

NTP服务器配置2、配置NTP服务器(设定10.8.9.159为NTP服务器),NTP服务器主配置⽂件 /etc/ntp.conf,配置前做好备份。

3、 10.8.9.159 NTP服务器端配置⽂件 /etc/ntp.conf标注:restrict 控制相关权限。

语法为: restrict IP地址 mask ⼦⽹掩码参数其中IP地址也可以是default ,default 就是指所有的IP参数有以下⼏个:ignore :关闭所有的 NTP 联机服务nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进⾏⽹络校时。

notrust :客户端除⾮通过认证,否则该客户端来源将被视为不信任⼦⽹noquery :不提供客户端的时间查询:⽤户端不能使⽤ntpq,ntpc等命令来查询ntp服务器notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。

陷阱服务是 ntpdq 控制消息协议的⼦系统,⽤于远程事件⽇志记录程序。

nopeer :⽤于阻⽌主机尝试与服务器对等,并允许欺诈性服务器控制时钟kod :访问违规时发送 KoD 包。

restrict -6 表⽰IPV6地址的权限设置。

4、将同步好的系统时间写⼊到硬件(BIOS)时间⾥。

只需要添加 SYNC_HWCLOCK=yes5、启动NTP服务并设置开机⾃动启动。

linux下date命令设置时间的输出格式和修改时间

linux下date命令设置时间的输出格式和修改时间

linux下date命令设置时间的输出格式和修改时间⽬录⼀.关于linux下的时间在Linux中有硬件时钟与系统时钟。

硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画⾯设定的时钟;系统时钟则是指kernel中的时钟;所有Linux相关指令与函数都是读取系统时钟的设定。

当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟独⽴运作。

#查看硬件时间[root@node5 ~]# hwclockFri 18 Sep 2020 04:32:24 PM CST -0.429479 seconds#查看系统时间[root@node5 ~]# dateFri Sep 18 16:30:46 CST 2020#时区的注释:#UTC (Universal Time Coordinated):世界标准时间#GMT (Greenwich Mean Time):格林尼治时间#CST (China standard Time):中国标准时间⼆.linux下使⽤date命令设置时间的输出格式1.输出完整⽇期格式#date +%F输出完整⽇期格式等价于date +%Y-%m-%d[root@node5 ~]# date +%F2020-09-18[root@node5 ~]# date +%Y-%m-%d2020-09-18#%y 年份最后两位数(00-99)#%Y 年份#%m ⽉份(01..12)#%d ⽇期(例如:01)#%H ⼩时(00-23)#%M 分钟(00..59)#%S 秒(00-60)2.输出完整的时间格式[root@node5 ~]# date "+%Y-%m-%d %H:%M:%S"2020-09-18 18:07:46[root@node5 ~]# date "+%F %T"2020-09-18 18:08:083.date -d显⽰由字符串描述的时间,⽽不是”当前时间“#date -d, --date=STRING#⾸先查看当前时间[root@node5 ~]# dateFri Sep 18 18:14:28 CST 2020#输出当前时间的下⼀年[root@node5 ~]# date -d "+1 years" +%F' '%T2021-09-18 18:14:25#在当前时间上都加⼀,并输出[root@node5 ~]# date -d "+1 years +1 months +1 days +1 hours +1 minutes +1 seconds" +%F' '%T2021-10-19 19:15:06三.修改linux时间3.1 在可以访问Internet情况下修改时间1.查看当前时间,当前时间是不对的[root@node5 ~]# date +%F' '%T2018-11-02 17:24:482.查看当前时区[root@node5 ~]# timedatectlLocal time: Fri 2020-09-18 17:28:38 CSTUniversal time: Fri 2020-09-18 09:28:38 UTCRTC time: Fri 2020-09-18 09:28:39Time zone: Asia/Shanghai (CST, +0800)NTP enabled: noNTP synchronized: noRTC in local TZ: noDST active: n/a3.设置当前时区为上海:Asia/Shanghai[root@node5 ~]# timedatectl set-timezone Asia/Shanghai4.使⽤ntp服务同步上海授时中⼼时间#如果没有安装ntp服务则需要安装[root@node5 ~]# yum install -y ntp#启动ntp服务[root@node5 ~]# systemctl start ntpd#查看ntp服务状态,为running则为启动成功[root@node5 ~]# systemctl status ntpd● ntpd.service - Network Time ServiceLoaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)Active: active (running) since Fri 2018-11-02 17:27:28 CST; 2s agoProcess: 9687 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 9688 (ntpd)CGroup: /system.slice/ntpd.service└─9688 /usr/sbin/ntpd -u ntp:ntp -g#此命令为同步上海授时中⼼时间[root@node5 ~]# ntpdate ntp.api.bz18 Sep 17:29:04 ntpdate[9771]: the NTP socket is in use, exiting#再次查看时间发现时间已经恢复正常[root@node5 ~]# date +%F' '%T2020-09-18 17:29:44#ntp同步常⽤服务器:#中国国家授时中⼼:210.72.145.44#NTP服务器(上海) :ntp.api.bz#美国:#复旦:#微软公司授时主机(美国) :#台警⼤授时中⼼(台湾):5.使⽤crontab设置定时同步时间任务,每天晚上23:59⾃动同步时间#编写定时任务[root@node5 ~]# crontab -eno crontab for root - using an empty one59 23 * * * ntpdate ntp.api.bz"/tmp/crontab.D94MU3" 1L, 32C writtencrontab: installing new crontab#查看定时任务#每天晚上23:59⾃动同步时间[root@node5 ~]# crontab -l59 23 * * * ntpdate ntp.api.bz3.2 在⽆法访问Internet情况下修改时间1.date -s, --set=STRING把时间设为字符串所描述的时间[root@node5 ~]# date -s "2018-11-02 17:11:59"Fri Nov 2 17:11:59 CST 2018[root@node5 ~]# date +%F' '%T2018-11-02 17:12:56。

linux 时区对照表

linux 时区对照表

linux 时区对照表Linux 操作系统中,时区的设置对于正确显示和记录时间是至关重要的。

本文将介绍Linux 中常用的时区对照表,以及如何在Linux 系统中正确设置和管理时区,确保系统时间的准确性。

一、Linux 中的时区对照表:Linux 使用了世界时(UTC,Coordinated Universal Time)作为内部时间标准,但在实际应用中,我们通常使用本地时区来显示和记录时间。

以下是Linux 中常用的时区对照表:1.UTC (Coordinated Universal Time):–在Linux 中,UTC 是系统内部的时间标准,与格林威治标准时间(GMT)相同。

–UTC 不考虑夏令时的影响,是全球标准的时间基准。

2.GMT (Greenwich Mean Time):–GMT 通常与UTC 等同,被广泛用于国际时间标准。

3.CST (China Standard Time):–中国标准时间,东八区,比UTC 快8小时。

4.EST (Eastern Standard Time):–美国东部标准时间,比UTC 慢5小时。

5.PST (Pacific Standard Time):–美国太平洋标准时间,比UTC 慢8小时。

6.JST (Japan Standard Time):–日本标准时间,比UTC 快9小时。

7.BST (British Summer Time):–英国夏令时,比UTC 快1小时。

8.AEST (Australian Eastern Standard Time):–澳大利亚东部标准时间,比UTC 快10小时。

二、Linux 中的时区设置:Linux 使用timedatectl命令来设置和管理系统时间和时区。

以下是一些常用的时区设置指南:1.查看当前时区设置:timedatectl2.列出系统支持的时区:timedatectl list-timezones3.设置时区:sudo timedatectl set-timezone <时区>例如,设置为北京时间:sudo timedatectl set-timezone Asia/Shanghai4.启用自动夏令时调整:sudo timedatectl set-ntp true5.禁用自动夏令时调整:sudo timedatectl set-ntp false三、时区设置的注意事项:1.选择正确的时区:–确保选择的时区与实际所在地的时区一致,以避免时间显示和记录的偏差。

linux ntp同步原理

Network Time Protocol(NTP)是一种用于在计算机网络上同步时钟的协议,它允许计算机在互联网上获取准确的时间信息,并将其应用于本地系统时钟。

以下是Linux中NTP同步的工作原理:1. NTP服务器和客户端:- NTP网络中通常存在一些称为NTP服务器的专用时间服务器,它们具有非常准确的本地时钟。

- Linux计算机可以充当NTP客户端,它们通过与NTP服务器通信来获取准确的时间信息,并将其应用于本地时钟。

2. NTP消息传递:- NTP客户端和服务器之间通过UDP协议进行通信。

- NTP消息包括时间戳和其他信息,客户端使用这些消息来计算延迟和时钟漂移,以确定正确的时间。

3. 时钟同步过程:- NTP客户端周期性地向一个或多个NTP服务器发送请求以获取时间信息。

这些请求通常以广播或多播方式发送,但也可以使用单播。

- NTP服务器响应客户端请求,并提供时间信息。

客户端接收到多个服务器的响应后,会选择最准确的时间源。

- 客户端使用时间信息来调整本地系统时钟,以使其与NTP服务器的时间同步。

4. 时钟漂移和补偿:- 由于计算机时钟的不稳定性,NTP客户端需要考虑时钟漂移,即时钟逐渐偏离真实时间的情况。

- NTP客户端会定期与服务器同步,通过比较本地时钟和服务器时钟之间的差异来计算出时钟漂移率。

- 根据时钟漂移率,NTP客户端会调整本地时钟,以保持准确的时间同步。

5. Stratum和层级结构:- NTP服务器根据其与准确时间源的距离和精确度被分为不同的层级,称为Stratum。

- Stratum 1服务器位于顶层,它们通常使用原子钟或GPS接收器等高精度时间源。

- Stratum 2服务器通过与Stratum 1服务器同步来获取时间信息,以此类推。

- Linux系统通常与Stratum 2或更高级别的服务器同步,而不会直接与Stratum 1服务器通信。

通过这种方式,Linux系统能够与NTP服务器同步其本地时钟,保持准确的时间。

linux 相对时间标准

linux相对时间标准
在Linux中,有两种时间标准:UTC(协调世界时)和本地时间(localtime)。

1.UTC时间标准:系统开机时会根据RTC时间和时区的offset将系统时间调整为20:00,UTC时区的时间为12:00,关机时使用UTC的时间来设置RTC。

2.localtime时间标准:开始时根据RTC和时区offset,将系统时间调整为12:00,UTC时区的时间为04:00,关机时不再设置RTC。

如果开启了NTP服务,系统会在运行时通过网络时间校准本机的UTC时间,本机的UTC时间改变后,系统时钟的时间也会跟着改变。

建议开启NTP服务,这能保证时间的准确性。

如果采用的是localtime时间标准,在NTP同步后不会修改RTC时间。

Windows与Linux(Ubuntu)双系统时间不一致的解决方法

Windows与Linux(Ubuntu)双系统时间不一致的解决方法世界协调时间(Universal Time Coordinated,UTC),GPS系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可.UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。

GMT(Greenwich Mean Time)是格林尼治平时:由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。

视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。

为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。

平太阳时就是指经修订后的视太阳时。

在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。

由于两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。

所以导致了系统时间的纠纷问题。

Linux和苹果操作系统以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间(如时区设置为GMT+08:00北京时间时以及当前CMOS时间为03:00,那么系统会将两个时间相加得出显示在桌面的当前系统时间为11:00)。

Windows 操作系统却直接把CMOS时间认定为当前显示时间,不根据时区转换。

这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定后,也就同时修改了CMOS内的时间(即每调整一次时区,设置保存后,CMOS时间也将被操作系统改变一次,注意不同操作系统调整时间后,也会同时改变CMOS时间,这一点是共通的)。

Linux系统使用NTP服务器的方法

Linux系统使用NTP服务器的方法Linux系统使用NTP服务器的方法Linux系统下的NTP服务器指的是网络时间同步协议,其作用就是同步网络时间和Linux系统中的时间,使得Linux时间更加精确。

下面就来介绍一下Linux系统下如何使用NTP服务器。

一、ntp配置文件1. /etc/ntp.confNTP服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同。

2. /usr/share/zoneinfo规定了各主要时区的时间设定文件。

/usr/share/zoneinfo/Asia/Shanghai 为中国大陆地区的时区设定文件。

3. /etc/sysconfig/clock时区设置文件4. /etc/localtime本地系统的时间设定文件[root@linuxidc1 ~]# grep -v “^#” /etc/ntp.confrestrict default kod nomodify notrap nopeer noquery//对于默认的client拒绝所有的操作restrict -6 default kod nomodify notrap nopeer noquery //针对ipv6的设置restrict 127.0.0.1 //允许本机地址一切的操作restrict -6 ::1server //设置上层服务器做同步ip地址server server server 127.127.1.0 //local地址fudge 127.127.1.0 stratum 10 //这行是时间服务器的层次。

设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0driftfile /var/lib/ntp/drift //记录上次的NTP server与上层NTP server联接所花费的时间keys /etc/ntp/keys参数:ignore :关闭所有的 NTP 联机服务nomodify:客户端不能更改服务端的`时间参数,但是客户端可以通过服务端进行网络校时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档