centos设置时区命令的简单介绍

0 156
本文目录: 1、CentOS下的时区修改 2、centos 7 安装完系统后怎么修改时区 3、如何设置Centos6.4系统的时区 4、【UTC】C...

本文目录:

CentOS下的时区修改

默认选项安装的CentOS系统,系统Timezone(时区)会是America/New_York,造成我们使用时的不方便。

修改当前时区为Asia/Chongqing——重庆。

再使用

查看一下,发现时区已经正确修改为重庆。

centos 7 安装完系统后怎么修改时区

设置修改CentOS系统时区在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况。如果没有安装,而你使用的是 CentOS系统 那使用命令 yum install ntp然后:ntpdate us 。因为CentOS系统是用rhas的源码再编译的,很多地方是完全一样的。rhas5的时区是以文件形式存在的,当前的时区文件是在/etc/localtime那么其他时区的文件存放在哪里呢?在/usr/share/zoneinfo下我们用东八区,北京,上海的时间#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#reboot重启之后,date查看时间、查看当前时区 date -R、查看/修改linux时区和时间一、时区1. 查看当前时区date -R2. 修改设置时区方法(1)tzselect方法(2) 仅限于RedHat linux 和 CentOS系统timeconfig方法(3) 适用于Debiandpkg-reconfigure tzdata3. 复制相应的时区文件,替换CentOS系统时区文件;或者创建链接文件cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime在中国可以使用:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime二、时间1、查看时间和日期date2、设置时间和日期将CentOS系统日期设定成1996年6月10日的命令date -s 06/22/96将CentOS系统时间设定成下午1点52分0秒的命令date -s 13:52:003. 将当前时间和日期写入BIOS,避免重启后失效hwclock -w三、定时同步时间# /usr/sbin/ntpdate 210.72.145.44 /dev/null 21这样我们就完成了关于设置修改CentOS系统时区的问题了。

如何设置Centos6.4系统的时区

CentOS 6然后开始调整时区:Java代码tzselect执行上述命令后首先会让用户选择要调整的时区所在的洲、国家、时区,然后确认以上散步调整操作:选择时区所在的洲选择时区所在的国家选择具体的时区确认上述操作

【UTC】CentOS7修改时区的正确姿势

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。

格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)

中国标准时间 (China Standard Time)【GMT + 8 = UTC + 8 = CST】

夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)

RTC(Real-Time Clock)或CMOS时钟,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

在CentOS 6版本,时间设置有date、hwclock命令,从CentOS 7开始,使用了一个新的命令timedatectl。

Centos7 修改系统时区timezone  ,解决快、慢8小时问题

如果服务器用非 UTC 的时间,时区转换很容易不一致,而且对于有 daylight saving 的时区,每年多一小时少一小时的那两天,系统就会出现各种诡异现象。

服务器使用UTC时间,如要显示用户所在时区的本地时间,在客户端转化即可。

# timedatectl

我们可以看到,服务器使用的CST 时间

# timedatectl  set-timezone UTC

#  timedatectl set-time "YYYY-MM-DD HH:MM:SS"

#  timedatectl set-time   "HH:MM:SS"

# timedatectl

我们可以看到,服务器时间类型更改为UTC了

# ll   /etc/locatime

lrwxrwxrwx. 1 root root 25 1月  14 08:30 /etc/localtime - ../usr/share/zoneinfo/UTC

实际上是做了一个将 

 文件  /etc/localtime  做了一个软连接到 /usr/share/zoneinfo/UTC

#  ln  -s   /usr/share/zoneinfo/UTC    /etc/localtime

ln: 无法创建符号链接"/etc/localtime": 文件已存在

#  ln  -sf /usr/share/zoneinfo/UTC    /etc/localtime

做软连接时,需要加 -f 参数,强制覆盖,不然会显示软链接已存在

#  timedatectl set-time "YYYY-MM-DD HH:MM:SS"

#  timedatectl set-time   "HH:MM:SS"    //只设置时分秒

# timedatectl

#  clock  -w

#  date   -u    //显示UTC时间

CentOS7修改时区的正确姿势

CentOS7上运行Java程序,发现程序生成的时间与当前时间匹配不上,还以为是数据停止更新了,后来发现没有正确使用修改时区的姿势,导致程序时区错误。

正确的修改CentOS7 时区的姿势:

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

其他系统的修改文件可能是/var/etc/localtime.

错误的姿势: 通过cp命令覆盖/etc/localtime时间

 #  cp -f /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

通过cp命令修改时区,通过date, data -R命令显示的时区都是正确的,可是对于java程序而言,是 错误 的。

具体原因在于Java访问系统时区的方式上,可参见文章:

Java TimeZone 和 Linux TimeZone问题

该文章很好的说明了Java访问系统时区的方式:

1. 如有环境变量 TZ设置,则用TZ中设置的时区

2. 在 /etc/sysconfig/clock文件中找 “ZONE”的值

3. 如何2)都没,就用/etc/localtime 和 /usr/share/zoneinfo 下的时区文件进行匹配,如找到匹配的,就返回对应的路径和文件名。 

问题在于,如果使用cp命令来修改/etc/localtime文件,那么可能就会导致修改的不是/etc/localtime文件,而是原时区的文件内容。

/etc/localtime是通过符号链接链接/usr/share/zoneinfo下的文件,而java是通过文件名来确认时区的,data命令是通过文件内容确认时区的,这样就导致了data命令时区正确,而java的时区是错误的!

如上图所示:CentOS7是通过符号链接到/usr/share/zoneinfo/下的时区文件的,如果通过cp指令只会修改原时区文件内容,这样,通过date的系统命令,查看时间是OK的,可是java是通过读取文件名的方式确认时区信息的。所以时区还是纽约。

我如何修改linux CentOS的时区呢?命令越简单越好 就改成东八区

摘自 念月思灵 博客:

2. 修改时区信息。命令为:tzset

如果系统中没有这条命令,那可以用类似下面的操作:

ln -s /etc/localtime /usr/share/zoneinfo/US/Pacific

3. 选择时区信息。命令为:tzselect

根据系统提示,选择相应的时区信息。

【centos设置时区命令】内容来源于网络,若引用不当、侵权,请联系我们修正或者删除!

最后修改时间:
文章相关标签:
优质vps
上一篇 2023年01月19日 04:10
下一篇 2023年01月19日 04:30

评论已关闭