Linux修改时区正确姿势

背景

CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件,那要怎么正确修改时区呢?

1
2
[root@centos7 ~]# ll /etc/localtime 
lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai

传统方法

如果采用直接cp的方法修改系统时区,那么就会把它所链接的文件修改掉,例如把美国的时区文件内容修改成了上海的时区内容,有可能会导致有些编程语言或程序在读取系统时区的时候发生错误。

正确方法

CentOS6、Ubuntu16

1
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7

最好的方法是使用timedatectl命令

1
2
3
4
timedatectl list-timezones |grep Shanghai    #查找中国时区的完整名称
Asia/Shanghai

timedatectl set-timezone Asia/Shanghai #其他时区以此类推

或者直接手动创建软链接

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-------------本文结束感谢您的阅读-------------

本文标题:Linux修改时区正确姿势

文章作者:WanDouDuoDuo

发布时间:2019年06月14日 - 15:06

最后更新:2020年07月22日 - 14:07

原始链接:https://wandouduoduo.github.io/articles/4655e3fe.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

原创技术分享,您的支持将鼓励我继续创作