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