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, Dec :: + [root@erwtd ~]#
# 2、修改时区
[root@erwtd ~]# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. ) Africa ) Americas ) Antarctica ) Arctic Ocean ) Asia ) Atlantic Ocean ) Australia ) Europe ) Indian Ocean ) Pacific Ocean ) none - I want to specify the time zone using the Posix TZ format. #? Please select a country. ) Afghanistan ) Israel ) Palestine ) Armenia ) Japan ) Philippines ) Azerbaijan ) Jordan ) Qatar ) Bahrain ) Kazakhstan ) Russia ) Bangladesh ) Korea (North) ) Saudi Arabia ) Bhutan ) Korea (South) ) Singapore ) Brunei ) Kuwait ) Sri Lanka ) Cambodia ) Kyrgyzstan ) Syria ) China ) Laos ) * ) Cyprus ) Lebanon ) Tajikistan ) East Timor ) Macau ) Thailand ) Georgia ) Malaysia ) Turkmenistan ) * ) * ) United Arab Emirates ) India ) Myanmar (Burma) ) Uzbekistan ) Indonesia ) Nepal ) Vietnam ) Iran ) Oman ) Yemen ) Iraq ) Pakistan #? Please select one of the following time zone regions. ) Beijing Time ) * Time #? The following information has been given: China Beijing Time Therefore TZ='Asia/Shanghai' will be used. Local time is now: Mon Dec :: CST . Universal Time is now: Mon Dec :: UTC . Is the above information OK? ) Yes ) No #? 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 ~]#
#3、复制相应的时区文件,替换系统时区文件
# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime #在中国可以使用: [root@erwtd ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
一、时间
#1、查看当前时间
[root@erwtd ~]# date Mon Dec :: CST [root@erwtd ~]#
#2、设置时间和日期
[root@erwtd ~]# date -s "20171211 11:29:30"
Mon Dec :: CST
[root@erwtd ~]#
#或者单独修改时间
[root@erwtd ~]# date -s
Wed Dec :: CST
[root@erwtd ~]# date -s ::
Wed Dec :: CST
[root@erwtd ~]# date
Wed Dec :: CST
[root@erwtd ~]#
#3、保存设置
[root@erwtd ~]# hwclock -w
二、时间同步shell脚本
[root@erwtd ~]#cat /root/ntp.sh
#!/bin/bash
# ntp.sh
#NTP服务器数组列表
ntpServer=(
[]=.cn.pool.ntp.org
[]=.cn.pool.ntp.org
[]=.cn.pool.ntp.org
[]=.cn.pool.ntp.org
) #校验#
serverNum=
NUM=
for ((i=; i<=$serverNum; i++)); do
echo -n "正在和NTP服务器:${ntpServer[$NUM]}校验中..."
/usr/sbin/ntpdate ${ntpServer[$NUM]} >> /dev/null >&
if [ $? -eq ]; 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
done
[root@erwtd ~]#
[root@erwtd ~]# sh /root/ntp.sh
正在和NTP服务器:tw.pool.ntp.org校验中... [成功]
同步成功,退出......
[root@erwtd ~]#