centos设置系统时间和时区
Zhgedu 2024-08-02 11:07:05 阅读 76
centos设置系统时间和时区
# 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
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。