源于一次项目需要修改系统时间,但是每次修改后又被同步回网络时间,找了好久发现是这个原因:
NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl程序可以自动同步Linux系统时钟到使用NTP的远程服务器(大部分linux系统自带ntp服务而不带ntp client,所以纠结了半天找不到为什么都没装NTP每次改了时间又被同步回网络时间去了)。
1、timedatectl命令:
timedate
Local time: 三 2017-07-05 10:57:53 CST
Universal time: 三 2017-07-05 02:57:53 UTC
Timezone: Asia/Chongqing (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
2、开启关闭ntp
timedatectl set-ntp true/false
其它
查找和设置Linux本地时区
1.显示系统的当前时间和日期
timedatectl status
结果中RTC time就是硬件时钟的时间。
2.Linux系统上的time总是通过系统的timezone设置的,查看当前时区:
timedatectl | grep Time
3.查看所有可用的时区:
timedatectl list-timezones
4.根据地理位置找到本地的时区:
timedatectl list-timezones | egrep -o “Asia/B.*”
timedatectl list-timezones | egrep -o “Europe/L.*”
timedatectl list-timezones | egrep -o “America/N.*”
5.在Linux中设置本地时区,使用set-timezone开关:
timedatectl set-timezone “Asia/shagnhai”
6.可以使用timedatectl命令设置系统的日期和时间:
只设置时间的话可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。
timedatectl set-time 15:58:30
7.只设置日期的话可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。
timedatectl set-time 20151120
8.设置日期和时间:
timedatectl set-time '16:10:40 2015-11-20'
9.设置硬件时钟为UTC可以使用 set-local-rtc boolean-value选:
首先确定硬件时钟是否设置为本地时区:
timedatectl | grep local
将硬件时钟设置为本地时区:
timedatectl set-local-rtc 1
将硬件时钟设置为UTC:
timedatectl set-local-rtc 0