Linux修改時區的方法

CentOS 和 Ubuntu 的時區文件是 /etc/localtime,但是在 CentOS7 以後 localtime 以及變成了一個鏈接文件

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

如果採用直接 cp 的方法修改系統時區,那麼就會把它所鏈接的文件修改掉,例如把美國的時區文件內容修改成了上海的時區內容,有可能會導致有些編程語言或程序在讀取系統時區的時候發生錯誤,因此正確的修改方法是:

注意:請在做任意變更操作前養成備份的習慣。

CentOS6、Ubuntu16

[root@d5a329049b12 /]# cp /etc/localtime /etc/localtime.bak
[root@d5a329049b12 /]# 
[root@d5a329049b12 /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite ‘/etc/localtime’? y
[root@d5a329049b12 /]# 

CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7

最好的方法是使用 timedatectl 命令

[root@d5a329049b12 /]# timedatectl list-timezones |grep Shanghai    # 查找中國時區的完整名稱
Asia/Shanghai
[root@d5a329049b12 /]# timedatectl set-timezone Asia/Shanghai       # 其他時區以此類推

或者直接手動創建軟鏈接

[root@d5a329049b12 /]# ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

 

修改好時區之後就可以同步時間啦

[root@d5a329049b12 /]# ntpdate -s time.windows.com

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章