Linux学习

linux修改系统时间和linux查看时区、修改时区的方法

2019-06-20  本文已影响0人  Pecksniff1994

一、查看和修改Linux的时区

1. 查看当前时区

命令 : "date -R"

2. 修改设置Linux服务器时区
方法 A

命令 : "tzselect"

方法 B 仅限于RedHat Linux 和 CentOS

命令 : "timeconfig"

方法 C 适用于Debian

命令 : "dpkg-reconfigure tzdata"

3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件

cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

例如:在设置中国时区使用亚洲/上海(+8)

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

二、查看和修改Linux的时间

1. 查看时间和日期

命令 : "date"

2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令

命令 : "date -s 11/03/2009"

将系统时间设定成下午5点55分55秒的命令

命令 : "date -s 17:55:55"

3. 将当前时间和日期写入BIOS,避免重启后失效

命令 : "hwclock -w"

注:

date
不加参数可以直接看到当前日期时间

cal
不加参数可以直接看到本月月历

1、查看和修改系统时间

# 查看系统时间
date
# 修改系统时间
date -s "20180604 22:46:55"
2、查看和修改硬件时钟

# 查看硬件时钟
hwclock  --show
# 修改硬件时钟
hwclock --set --date="20180604 22:46:55"
3、用系统时间同步硬件时钟

 hwclock --systohc         sys代表系统时间,hc代表硬件时钟
4、用硬件时钟与系统时间

hwclock --hctosys
注意:必须使用root用户来修改时间才行。

5、修改时区

# 修改时区
export TZ='Asia/Shanghai'
# 使时区生效
source ~/.bashrc

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
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7
最好的方法是使用timedatectl命令

# timedatectl list-timezones |grep Shanghai    #查找中国时区的完整名称
Asia/Shanghai
# timedatectl set-timezone Asia/Shanghai    #其他时区以此类推
或者直接手动创建软链接

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
6、让Linux同步Internet网络上的时间

ntpdate time.nist.gov
ntpdate time.windows.com
7、自动定时校正时间

# 设定crontab计划任务自动校时:

# 使用命令crontab -e
crontab -e

#在里面写入下行命令
# 每天5:10自动进行网络校时,并同时更新BIOS的时间
10 5 * * * root /usr/sbin/ntpdate -u 210.72.145.44;hwclock -w
# 每隔一个小时同步一下internet时间,并同时更新BIOS的时间
* */1 * * * root ntpdatetime.nuri.net;hwclock -w
# 每隔2分钟执行,将输出日志到/var.log/ntpdate.log 
*/2 * * * * /usr/sbin/ntpdate 192.168.109.101 >> /var/log/ntpdate.log

# 重启服务 
service crond restart

一、查看和修改Linux的时区
1. 查看当前时区
命令 : "date -R"

2. 修改设置Linux服务器时区
方法 A
命令 : "tzselect"

方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"

方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"

3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

例如:在设置中国时区使用亚洲/上海(+8)

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

4.注意

GMT(Greenwich Mean Time,格林威治标准时间): 
是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
UTC(Universal Time/Temps 
Cordonné 世界标准时间)
CST(Central Standard Time 國家標準時間,一說中原標準時間); 中国标准时间(China 
Standard Time)
GMT + 8 = UTC + 8 = CST

二、查看和修改Linux的时间

1、date
查看系统时间

# date

设置系统时间

# date --set “07/07/06 10:19" (月/日/年 时:分:秒)

将当前时间和日期写入BIOS,避免重启后失效

命令 : "hwclock -w"

2、hwclock/clock
查看硬件时间

# hwclock --show

或者 # clock --show

设置硬件时间

# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

或者 # clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:

# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

或者

# clock --hctosys

系统时钟和硬件时钟同步: # hwclock --systohc 或者 # clock --systohc

针对中国时区,修改操作如下
1.   修改文件 /etc/sysconfig/clock内容:
ZONE=Asia/Shanghai UTC=false ARC=false
2.     rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# linux系统UTC切换为CST

1. 备份clock文件

cp /etc/sysconfig/clock /etc/sysconfig/bakclock

2. 编辑clock文件

vim /etc/sysconfig/clock

ZONE="Asia/Shanghai"

3. 备份localtime文件

mv /etc/localtime /etc/localtime.bak

4. 使用新时区文件

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


上一篇下一篇

猜你喜欢

热点阅读