Linux如何修改和查询时区时间

Linux如何修改和查询时区时间

  我在日常工作中,最近遇到了在解压源码包的时候,提示时间比较旧,解压安装出现问题。原因是,租用的vps所在时区和自己所需要的时区不一致,于是在网上找了相关资料。并亲自实践,将其记录如下,以供日后方便使用。

 

一、时区

参考资料:http://www.cnblogs.com/h2appy/archive/2008/11/27/1342029.html

# 当前操作系统版本

[root@erwtd ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

# 1、查看当前时区:东9

复制代码
[root@erwtd ~]# date -R

Mon, 11 Dec 2017 12:16:01 +0900

[root@erwtd ~]# 
View Code
复制代码

 

# 2、修改时区

复制代码
[root@erwtd ~]# tzselect

Please identify a location so that time zone rules can be set correctly.

Please select a continent or ocean.

 1) Africa

 2) Americas

 3) Antarctica

 4) Arctic Ocean

 5) Asia

 6) Atlantic Ocean

 7) Australia

 8) Europe

 9) Indian Ocean

10) Pacific Ocean

11) none - I want to specify the time zone using the Posix TZ format.

#? 5

Please select a country.

 1) Afghanistan           18) Israel                35) Palestine

 2) Armenia               19) Japan                 36) Philippines

 3) Azerbaijan            20) Jordan                37) Qatar

 4) Bahrain               21) Kazakhstan            38) Russia

 5) Bangladesh            22) Korea (North)         39) Saudi Arabia

 6) Bhutan                23) Korea (South)         40) Singapore

 7) Brunei                24) Kuwait                41) Sri Lanka

 8) Cambodia              25) Kyrgyzstan            42) Syria

 9) China                 26) Laos                  43) Taiwan

10) Cyprus                27) Lebanon               44) Tajikistan

11) East Timor            28) Macau                 45) Thailand

12) Georgia               29) Malaysia              46) Turkmenistan

13) Hong Kong             30) Mongolia              47) United Arab Emirates

14) India                 31) Myanmar (Burma)       48) Uzbekistan

15) Indonesia             32) Nepal                 49) Vietnam

16) Iran                  33) Oman                  50) Yemen

17) Iraq                  34) Pakistan

#? 9

Please select one of the following time zone regions.

1) Beijing Time

2) Xinjiang Time

#? 1

 

The following information has been given:

 

        China

        Beijing Time

 

Therefore TZ='Asia/Shanghai' will be used.

Local time is now:      Mon Dec 11 11:21:25 CST 2017.

Universal Time is now:  Mon Dec 11 03:21:25 UTC 2017.

Is the above information OK?

1) Yes

2) No

#? 1

 

You can make this change permanent for yourself by appending the line

        TZ='Asia/Shanghai'; export TZ

to the file '.profile' in your home directory; then log out and log in again.

 

Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Shanghai

[root@erwtd ~]# 
View Code
复制代码

 

#3复制相应的时区文件,替换系统时区文件

复制代码
# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

#在中国可以使用:

[root@erwtd ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
View Code
复制代码

 

一、时间

#1、查看当前时间

复制代码
[root@erwtd ~]# date

Mon Dec 11 11:28:19 CST 2017

[root@erwtd ~]#
View Code
复制代码

 

#2、设置时间和日期

 

复制代码
[root@erwtd ~]# date -s "20171211 11:29:30"
Mon Dec 11 11:29:30 CST 2017
[root@erwtd ~]# 
#或者单独修改时间
[root@erwtd ~]# date  -s 20171220
Wed Dec 20 00:00:00 CST 2017
[root@erwtd ~]# date -s 11:30:30
Wed Dec 20 11:30:30 CST 2017
[root@erwtd ~]# date
Wed Dec 20 11:30:34 CST 2017
[root@erwtd ~]# 
View Code
复制代码

 

#3、保存设置

[root@erwtd ~]# hwclock  -w
View Code

 

二、时间同步shell脚本

 

复制代码
[root@erwtd ~]#cat /root/ntp.sh 
#!/bin/bash
# ntp.sh
#NTP服务器数组列表
ntpServer=(
[0]=1.cn.pool.ntp.org
[1]=2.cn.pool.ntp.org
[2]=3.cn.pool.ntp.org
[3]=0.cn.pool.ntp.org
)

#校验#
serverNum=0
NUM=0
for ((i=0; i<=$serverNum; i++)); do
    echo -n "正在和NTP服务器:${ntpServer[$NUM]}校验中..."
    /usr/sbin/ntpdate ${ntpServer[$NUM]} >> /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo -e "\e[1;32m\t[成功]\e[0m"
        echo -e "\e[1;32m同步成功,退出......\e[0m"
        break
    else
        echo -e "\e[1;31m\t[失败]\e[0m"
        echo -e "\e[1;31m继续同步下一个!!!!!\e[0m"
        let NUM++
    fi
    sleep 2
done
[root@erwtd ~]#
[root@erwtd ~]# sh /root/ntp.sh 
正在和NTP服务器:tw.pool.ntp.org校验中...        [成功]
同步成功,退出......
[root@erwtd ~]# 
View Code
复制代码

 

posted @   davie2020  阅读(6628)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示