CentOS 6对时间、时区设置修改及时间同步详解


时区

显示时区

date --help获取帮助

[root@bigdata-training ~]# date -R
Sat, 06 Jul 2019 22:19:27 +0800


[root@bigdata-training ~]# date +%z
+0800

主要就是后面的+0800,东八区

时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime,

[root@bigdata-training ~]# ls /usr/share/zoneinfo/Asia/
Aden    Ashgabat   Beirut      Chongqing  Dili      Ho_Chi_Minh  Jayapura   Kathmandu     Kuching   Manila        Oral        Rangoon    Shanghai       Tehran         Ulaanbaatar  Yakutsk
Almaty  Ashkhabad  Bishkek     Chungking  Dubai     Hong_Kong    Jerusalem  Katmandu      Kuwait    Muscat        Phnom_Penh  Riyadh     Singapore      Tel_Aviv       Ulan_Bator   Yekaterinburg
Amman   Baghdad    Brunei      Colombo    Dushanbe  Hovd         Kabul      Khandyga      Macao     Nicosia       Pontianak   Saigon     Srednekolymsk  Thimbu         Urumqi       Yerevan
Anadyr  Bahrain    Calcutta    Dacca      Gaza      Irkutsk      Kamchatka  Kolkata       Macau     Novokuznetsk  Pyongyang   Sakhalin   Taipei         Thimphu        Ust-Nera
Aqtau   Baku       Chita       Damascus   Harbin    Istanbul     Karachi    Krasnoyarsk   Magadan   Novosibirsk   Qatar       Samarkand  Tashkent       Tokyo          Vientiane
Aqtobe  Bangkok    Choibalsan  Dhaka      Hebron    Jakarta      Kashgar    Kuala_Lumpur  Makassar  Omsk          Qyzylorda   Seoul      Tbilisi        Ujung_Pandang  Vladivostok

修改时区

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

时间

概念:Linux时间有两个

系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数

BOIS时间:也叫硬件时间(hc)

硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

显示时间

Linux hwclock命令用于显示与设定硬件时钟。

[root@bigdata-training ~]# date;hwclock -r
Sat Jul  6 22:23:15 CST 2019
Sat 06 Jul 2019 10:19:14 PM CST  -0.454161 seconds

设置时间

1、date -s

[root@bigdata-training ~]# date -s 20190705
Fri Jul  5 00:00:00 CST 2019
[root@bigdata-training ~]# 
[root@bigdata-training ~]# date -s 23:00:00
Fri Jul  5 23:00:00 CST 2019
[root@bigdata-training ~]# 
[root@bigdata-training ~]# date -R
Fri, 05 Jul 2019 23:00:09 +0800

没有网络的情况下可以用这个

2、ntpdate

ntpdate time.windows.com && hwclock -w
连网更新时间,如果成功,将系统时间,写入BOIS

hwclock -whwclock --systohc

可以做到crontab里
先编写脚本cat ntpdate.sh

#!/bin/bash

#restart ntpdate and synchronization time
DATE_STR=`/bin/date '+%Y%m%d%H%M%S'`

#log
NTPDATE_SERVICE_LOG=/home/fuyun/logs/ntpdate-${DATE_STR}.log

#start ntpdate service
service ntpdate restart >>${NTPDATE_SERVICE_LOG} 2>&1

if [ $? -eq 0 ]; then #此处$?是接收上条命令是否成功,成功为0,失败为非0
  echo restart ntpdate service succeed!!! 1>>${NTPDATE_SERVICE_LOG}
  #synchronization time
  logs=`ntpdate time.windows.com && hwclock -w` # >>${NTPDATE_SERVICE_LOG} 2>&1
  echo ${logs} 1>>${NTPDATE_SERVICE_LOG}  

  if [ $? -eq 0 ]; then #此处$?是接收上条命令是否成功,成功为0,失败为非0
    echo  Synchronizing with time succeed!!! 1>>${NTPDATE_SERVICE_LOG}
  else 
    echo Synchronizing with time failed!!!1>>${NTPDATE_SERVICE_LOG}
  fi

else
  echo restart ntpdate service failed!!! 1>>${NTPDATE_SERVICE_LOG}
fi

再用root用户编辑定时任务
crontab -e
在定时任务中添加以下内容
00 00 * * * sh /home/fuyun/ntpdate.sh
表示每天00:00定时执行脚本

3、启动ntpd服务,开启后2就不能用了

先用ntpdate更新一下,确保时间不至于差别太大

rpm -qa | grep ntp #查询一下可安装了

chkconfig --list | grep ntp #看下服务情况

chkconfig ntpd on

service ntpd start 或/etc/init.d/ntpd start
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值