[RTC]系统时间和RTC同步,Debian的时区配置

Posted aaronGao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RTC]系统时间和RTC同步,Debian的时区配置相关的知识,希望对你有一定的参考价值。

转自:http://www.cnblogs.com/jiu0821/p/5999566.html

Debian的时区配置

一. 修改时区

1. 查看当前时区

命令 : "date -R"

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

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

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

3. 通过/etc/profile来修改

echo "export TZ=\'UTC\'" >> /etc/profile

source /etc/profile

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

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

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

或者

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

ln -sf /usr/share/zoneinfo/UTC /etc/localtime 设置为UTC时间

 

二、查看和修改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
不加参数可以直接看到本月月历

转自:http://www.cnblogs.com/ibgo/p/5959610.html

NTP和RTC时间同步

以上方法似乎不奏效,后来发现Debian 从 jessie 开始使用systemd来管理任务。

$ timedatectl status 
      Local time: 五 2016-10-21 01:34:20 CST
  Universal time: 四 2016-10-20 17:34:20 UTC
        RTC time: 四 2016-10-20 17:34:20
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
$ timedatectl set-ntp true

再看状态:

$ timedatectl status 
      Local time: 五 2016-10-21 01:36:57 CST
  Universal time: 四 2016-10-20 17:36:57 UTC
        RTC time: 四 2016-10-20 17:36:58
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

打开 /etc/systemd/timesyncd.conf:

#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# See timesyncd.conf(5) for details

[Time]
#Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

加入时间更新服务器:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# See timesyncd.conf(5) for details

[Time]
#Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
Servers=ntp.ubuntu.com

这样每次开机就会从ntp.ubuntu.com自动更新时间了。

参见:How to manage system services on Debian Jessie

 https://blog.sleeplessbeastie.eu/2015/04/27/how-to-manage-system-services-on-debian-jessie/

查看硬件时间

# hwclock

把硬件的时间写到操作系统(如果hwclock是昨天,则此命令会把系统当前的时间改到昨天):

# hwclock --hctosys

把系统当前的时间写到硬件时钟(写到BIOS ?):这才是我们需要的

# hwclock --systohc

 

以上是关于[RTC]系统时间和RTC同步,Debian的时区配置的主要内容,如果未能解决你的问题,请参考以下文章

RTC及sensor时间同步

clock_gettime接口和linux时间系统

UTC/GMT/CST/RTC

CentOS 7 时区设置

介绍Linux下时间处理的相关操作(RTC延时闹钟转换)

Arduino ESP32 获取网络时间并同步本地RTC时钟