centos设置系统时间和时区

Zhgedu 2024-08-02 11:07:05 阅读 76

centos设置系统时间和时区

<code>系统时间

# date

# date +%F_%T_%S

# ll /etc/localtime 指定向时间文件硬连接

# clock -s 以软件时间为基准

# clock -w 以硬件时间为基准

# timedatectl set-timezone Asia/Shanghai

优化同步时间

# crontab -e

0 * * * * * /bin/ntodate ntp.aliyun.com &>/dev/null

# rpm -q chrony 时间包

clock -s

clock -w

配置时间同步服务器

同步时间

即是个服务端也客户端

# yum install -y chrony

# systemctl status chronyd

# systemctl start chronyd

查看时间校验情况

# chronyc sources -v

# vim /etc/chrony.conf

配置时间同步服务器,配置到其他主机

# vim /etc/chrony.conf

一、设置时区

方法一:使用setup工具

setup

选择Timezone configuration

选择Asia/Shanghai

空格键勾选上System clock uses UTC

就OK了。

方法二:使用tzselect工具

tzselect

选择亚洲Asia

5

选择国家China

9

选择地区central China

3

确认选择Yes

1

设置好tzselect后,一定要重写/etc/localtime

rm /etc/localtime

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

方法三:直接修改/etc/sysconfig/clock文件

vi /etc/sysconfig/clock

ZONE="Asia/Shanghai"code>

UTC=true

ARC=false

重写/etc/localtime

rm /etc/localtime

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、重启系统使时区生效

reboot

三、更新时间

更新系统时间

ntpdate cn.pool.ntp.org

更新硬件时间

hwclock --systohc

四、crontab定时较对时间

设置crontab定时较对时间

crontab -e

30 1 * * * ntpdate cn.pool.ntp.org ;hwclock --systohc

PS:

ntpdate命令安装

yum -y install ntp

setup工具安装

yum -y install setuptool

crontabs安装

yum -y install gcc gcc-c++ autoconf vixie-cron crontabs

解决服务器重启后,时间自动变更的问题

在项目中,有时候会发现服务器在每次重启后,时间会自动的变更,以至带来很多的麻烦。(例如日志记录混乱,OA系统登记信息错误等)导致这样的问题基本上有两个:

1)服务器硬件造成的,如电池电量不够;

2)系统问题,通常是因为时区错误。

要解决该问题,首先要知道的就是Linux系统中时间的概念:

1)Linux系统中,系统时间和硬件时间是独立的

系统时间是表示系统内运行的时间,硬件时间是指硬件设备中,如BIOS的时间。

2)系统时间和硬件时间的关系

系统时间由硬件时间和系统时区进行设置。系统在启动的时候,会从硬件设备中读取硬件时间,并根据系统时区进行修改,然后写入到系统时间内。同样,系统关闭时,也会读取系统时间,然后写入硬件时间。

由于硬件造成的问题,请联系硬件供应商。下面我们来谈谈系统上的解决方法:

1、涉及到的文件有:

引用

/etc/localtime--本地时间的文件(二进制文件)

/etc/sysconfig/clock--系统时间的配置文件

/etc/timezone--系统时区文件

以及一个目录:

/usr/share/zoneinfo--系统可使用的本地时间文件

2、使用到的命令

/bin/date--查看系统时间

/sbin/hwclock--查看硬件或系统时间,并可修改硬件时间

3、范例

让我们以一个实际例子为例:

系统:红旗 DC Server 5.0 for x86

通常,由于我们所在的时区是GMT +8(中国),所以,出现问题会发现这样的情况:

引用

# date 042519302006

Tue Apr 25 19:31:00 CST 2006

# hwclock -r

Tue Apr 25 11:31:36 2006 -0.432139 seconds

也就是,系统时间比硬件时间增加了8小时。

首先,查看并修改时区配置:

# cat /etc/timezone

Asia/Beijing

接下来,查看系统时间的配置文件

# cat /etc/sysconfig/clock

ZONE="Asia/Beijing"code>

UTC=false

ARC=false

要保证上述的Zone环境配置是对应的。然后修改本地时间文件:

# cd /usr/share/zoneinfo/Asia/

# cp Beijing /etc/localtime

拷贝正确的本地时间文件(或链接)

最后,把硬件时间重新设置为系统时间,然后重新启动,以生效:

# hwclock --hctosys

4、例外

在部分系统上,如AsinaUX 1.0。会由于系统本身采用的是UTC时间,若我们采用上述的方式修改系统时间,会发现这样的现象:

◎系统启动过程显示的localtime时间是正确的,但进入系统后,用date命令看到的时间恰好又多了8个小时

这样,我们就只能修改系统时间的配置文件,把UTC时间激活

引用

# cat /etc/sysconfig/clock

ZONE="Asia/Beijing"code>

UTC=true

ARC=false

# hwclock --hctosys

重启即可。

5、其他

常用的配置时间命令还有:

# date 042511482006

格式:date 月日时分年

(该设置和BSD上有所不同)

# hwclock -r 或 hwclock --show

查看硬件时间

# hwclock --systohc 或 hwclock -w

把系统时间写入硬件时间

# hwclock --hctosys 或 hwclock -s

就是把硬件时间写成系统时间

6、服务

最近发现,系统中的某些服务会对CPU频率进行调整,由此也会导致系统时间出现问题。典型的就是红旗DC 5.0上的cpuspeed服务,建议在某些情况下,可以把其关闭:

service cpuspeed stop

配置时间同步服务器

centos8

NTP server 既客户端又是服务端

# yum install -y chrony

# systemctl status chronyd

# systemctl restart chronyd

# ntpdate 10.0.0.7/8

centos8修改配置服务端

# vim /etc/chrony.conf

server ntp.aliyun.com iburst

server time1.cloud.tencent.com iburst

server 3.centos.pool.ntp.org iburst 地址池

# Use public servers from the pool.ntp.org project.

server 10.0.0.8 iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

# Allow NTP client access from local network.

allow 10.0.0.0/24 允许谁和我同步

# Serve time even if not synchronized to a time source.

local stratum 10 设为时间服务器给企业内部用

centos7/6客户端

# vim /etc/chrony.conf

server 10.0.0.8 iburst 时间指向服务端,自动同步服务端的时间

centos7客户端时间同步服务端的方法,centos8为服务端

# ntpdate 10.0.0.8

查看时间校验情况

交互式

# chronyc

非交互式

# chronyc sources -v

检查客户端能否与服务端同步时间

[root@centos7.9 ~]# chronyc accheck 10.0.0.8

208 Access allowed



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。