欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux 时间同步和时间设置

程序员文章站 2024-01-21 18:48:04
...

时间同步

Linux下使用ntpdate时间同步。

  1. 首先确认已安装ntpdate,或者在联网环境下安装;
yum install -y ntpdate
  1. ntpdate命令,网络时间同步命令
ntpdate -u 210.72.145.44

注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
210.72.145.44:中国国家授时中心的官方服务器。

ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz

美国:time.nist.gov
复旦:ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
台警大授时中心(*):asia.pool.ntp.org

下面转自:http://gaoxingf.blog.51cto.com/612518/121959




Linux下ntpdate时间同步
Ntp服务器安装配置
RedHat服务器可以下载rpm安装包,然后执行
# rpm -ivh ntp-4.2.0.a.20040617-4.x86_64.rpm 或  # yum -y install ntp.x86_64
时间同步方法
同步命令
# ntpdate ntp服务器域名或IP
例如:# ntpdate 1.cn.pool.ntp.org
http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们国家的NTP Server cn.pool.ntp.org.它有3个服务器地址:
服务器一:        1.cn.pool.ntp.org
服务器二:        2.asia.pool.ntp.org
服务器三:        3.asia.pool.ntp.org
(直接用域名有时有问题,可以先Ping出他们的IP,然后用IP地址同步)
自动运行同步时间脚本设定
# crontab –e
添加脚本例子如下:
*/20 * * * *       /usr/sbin/ntpdate 210.72.145.44          //每20分钟执行一次
30 5 * * *          /usr/sbin/ntpdate 210.72.145.44          //每天早晨5点半执行
※ 前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6)//0代表星期天
设定完毕后,可使用# crontab –l 查看上面的设定。
问题:在虚拟机(vmware server)上使用时间同步的时候,虽然设定了自动同步,但有些时候还是会时间不准确,具体原因我也没弄太明白,因为有时好用,有时不好用,我也没一直盯着它研究~~~有机会再研究了~
Linux系统时间日期手动修改
查看当前时间         # date
修改时间命令         # date –s 12:12:00
修改日期命令         # date –s 01/12/2008
Linux系统时区修改
查看当前时区         # vi /etc/sysconfig/clock
修改时区命令         # tzselect                            或           # timeconfig
如果知道时区名称也可以直接使用命令如:# TZ=’Asia/Shanghai’; export TZ //改为+8中国上海时区
或 使用新的时区文件覆盖系统默认时区(测试最有效)
例 # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime                           //亚洲上海时区替换系统时区
同步BIOS时钟,强制将系统时间写入CMOS,使之永久生效,避免系统重启后恢复成原时间。
# clock -w
查看BIOS时间命令: # hwclock -r
        </div>
            </div>
        </article>

时间设置

linux系统时间有两个,一个是硬件时间,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时间,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步。

方法一

一、date 查看/设置系统时间

1、将日期设置为2017113日
[root@linux-node ~]# date -s 11/03/17

2、将时间设置为142050秒
[root@linux-node ~]# date -s 14:20:50

3、将时间设置为2017113141630秒(MMDDhhmmYYYY.ss)
[root@linux-node ~]# date 1103141617.30


    二、hwclock/clock 查看/设置硬件时间

    1、查看系统硬件时钟
    [root@linux-node ~]# hwclock  --show 或者
    [root@linux-node ~]# clock  --show
    
    2、设置硬件时间
    [root@linux-node ~]# hwclock --set --date="11/03/17 14:55" (月/日/年时:分:秒) 或者
    [root@linux-node ~]# clock --set --date="11/03/17 14:55" (月/日/年时:分:秒)


      三、同步系统及硬件时钟

      [root@linux-node ~]# hwclock --hctosys 或者
      [root@linux-node ~]# clock --hctosys  
      备注:hc代表硬件时间,sys代表系统时间,以硬件时间为基准,系统时间找硬件时间同步
      
      
      [root@linux-node ~]# hwclock --systohc或者
      [root@linux-node ~]# clock --systohc 
      备注:以系统时间为基准,硬件时间找系统时间同步


        方法二

        时区设置用tzselect 命令来实现。但是通过tzselect命令设置TZ这个环境变量来选择的时区,需要将变量添加到.profile文件中。

        一、tzselect命令执行

        执行tzselect命令 --> 选择Asia --> 选择China --> 选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。

          执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行 TZ=’Asia/Shanghai’; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。

          二、修改配置文件来修改时区

          [root@linux-node ~]# echo "ZONE=Asia/Shanghai" >> /etc/sysconfig/clock         
          [root@linux-node ~]# rm -f /etc/localtime
          #链接到上海时区文件       
          [root@linux-node ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

            执行完上述过程后,重启机器,即可看到时区已经更改。

            备注:

            在centos7中设置时区的命令可以通过 timedatectl 命令来实现
            [root@linux-node ~]# timedatectl set-timezone Asia/Shanghai
              相关标签: linux