Ubuntu修改时区的方法

第一种修改方式tzselect

服务器date时间不准:

ubuntu@ubuntu:~# date

Tue, 05 Nov 2023 21:08:31 -0500

实际是下午9点
第一步:执行tzselect

第二步:
第三步:
第四步
第五步修改/etc/localtime文件

控制系统时区的文件是/etc/localtime。只要把这个文件复制成相应时区的文件,系统时区就改成相应的时间了。

时区信息在:/usr/share/zoneinfo里。比如需要把本机 时区改成Shanghai的时间:

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

ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

这两条指令都可以更改。
使用date查看时间

第二种修改方式 timedatectl
1.查看当前时间状态

查看当前时间状态 timedatectl status :

wxs@ubuntu:~/6-1/task4$ timedatectl status

Local time: Tue 2017-11-07 18:14:30 PST

Universal time: Wed 2017-11-08 02:14:30 UTC

RTC time: Wed 2017-11-08 02:14:29

Time zone: America/Los_Angeles (PST, -0800)

Network time on: yes

NTP synchronized: yes

RTC in local TZ: no

系统显示的时间是错误的,错误原因也是显而易见的,使用的是America/Los_Angeles的时区。

因此只要修改时区就能保证时间的正确。

2.修改时区

所有的时区名称存储在/usr/share/zoneinfo文件中。

执行命令timedatectl set-timezone “Asia/Shanghai” 就可以将时区设为上海时区。

==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ===

Authentication is required to set the system timezone.

Authenticating as: wxs,,, (wxs)

Password:

==== AUTHENTICATION COMPLETE ===12345

重新查看当前时间状态 timedatectl status :

wxs@ubuntu:~/6-1/task4$ timedatectl status

Local time: Wed 2017-11-08 10:15:45 CST

Universal time: Wed 2017-11-08 02:15:45 UTC

RTC time: Wed 2017-11-08 02:15:45

Time zone: Asia/Shanghai (CST, +0800)

Network time on: yes

NTP synchronized: yes

RTC in local TZ: no12345678

此时时间已经正常了。

 

关于Ubuntu服务器的时间同步设置

首先我们检查一下服务器的时区设置和当前时间值,获取/etc/timezone 配置以及使用date命令查看当前时间。
root@iZ2ze7n2ynw18p6bs92fziZ:~# cat /etc/timezone
Asia/Shanghai
root@iZ2ze7n2ynw18p6bs92fziZ:~# date
Wed Dec 21 14:03:36 CST 2022

确保/etc/timezone文件中当前时区设置为中国时区,如果不对则编辑配置文件修改为上述值。在date命令的输出中,可以看到当前的时间值是正确的,其中的CST可视为美国、澳大利亚、古巴或中国的标准时间。此处是中国的标准时间。
现在,我们开始查看时钟是否与互联网同步。运行timedatectl命令,当然在此之前确保服务器已经安装ntpdate:

# 安装ntpdate
root@ziZ:~# apt-get install ntpdate
# 同步命令:
root@ziZ:~# timedatectl
Local time: Wed 2022-12-21 14:10:13 CST
Universal time: Wed 2022-12-21 06:10:13 UTC
RTC time: Wed 2022-12-21 14:14:26
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
systemd-timesyncd.service active: yes

RTC in local TZ: yes timedatectl 命令显示本地时间、世界时、时区以及系统时钟是否与互联网服务器同步,local time即是当前服务器的时间,也就是执行date命令返回的时间值。universal time是标准时间。RTC time是服务器的硬件时钟芯片上的时间。咱们只要看Local time即可。最后的三个值中,其中的SYSTEM clock synchronized标志就是服务器时间是否同步的标志 ,如果其值为yes则为自动同步。如果为No则需要修改配置。如下:

#开启自动同步
root@ziZ:~# timedatectl set-ntp on
#重启systemd-timesyncd服务
root@ziZ:~# systemctl restart systemd-timesyncd.service

这个问题已经过去一段时间,不完全记得整个问题过程,不过我记得遇到这问题的时候,主要是碰到了另外一个问题,当时上面这些我都操作了,但是时间就是不同步,原因在于我没有安装ntpdate,但我执行apt-get install tpdate时提示域名解析失败。报错Temporary failure resolving ‘cn.archive.ubuntu.com’。我的/etc/reslove.conf配置文件也正常,但是就是解析不了域名。后来了解到/etc/reslove.conf配置文件不能直接修改。需要通过修改文件/etc/systemd/resolved.conf。在文件里指定DNS配置的值后重启systemctl restart systemd-resolved,来使域名解析生效。

 

1、输入“timedatectl”命令检查当前是日期和时区设置。
$ timedatectl
Local time: Mon 2022-08-15 03:55:43 UTC
Universal time: Mon 2022-08-15 03:55:43 UTC
RTC time: Mon 2022-08-15 03:55:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

2、获取时区列表
timedatectl list-timezones

3、再输入以下命令搜索你的时区,例如搜索上海的时区。
$ timedatectl list-timezones | grep Shanghai
Asia/Shanghai

4、修改时区
sudo timedatectl set-timezone Asia/Shanghai

5、最后可使用以下命令来验证修改好的时间时区。
$ date -R
Mon, 15 Aug 2022 11:57:32 +0800

 

扫码领红包

微信赞赏支付宝扫码领红包

发表回复

后才能评论