Dos formas de modificar la hora del sistema en Linux

Uno: Cómo actualizar la hora del sistema

1. Modificación manual

Utilice herramientas relacionadas para modificar manualmente la hora del sistema.

2. Sincronización automática

Utilice NTP para sincronizar automáticamente la hora del sistema.

Dos: modificar manualmente la hora del sistema

1. herramienta de fecha

Rol: muestra y configura
las opciones de tiempo del sistema:

-d  <字符串> 显示字符串所指的日期与时间,比如:"-1 day" 表示当前日期的前一天,必须要加双引号

-s  <字符串> 设置当前的时间和日期 #年月日使用(-)分隔,时分秒使用(:)分隔

Formato de tiempo:

# 显示时间格式: date [+指定的格式]

# 相关格式说明:
    %T:time,显示时分秒,24小时制(hh:mm:ss)

    %F:full date,显示年月日,%Y-%m-%d

# 说明:
    Y: 年
    m:月
    d:日

    H:时
    M:分
    S:秒

Por ejemplo: mostrar el año, mes, día, hora, minuto y segundo

# 格式:
	date "+%F %T" # 需要用双引号括起来 表示这是一个整体

root@ubuntu1804:~# date 
Tue 28 Mar 2023 11:07:08 AM CST

root@ubuntu1804:~# date +"%F"
2023-03-28

root@ubuntu1804:~# date +"%T"
11:07:18

root@ubuntu1804:~# date +"%F %T"
2023-03-28 11:07:29

Solo modifica el año, el mes y el día:

date -s "20220710" 或  date -s "YYYY-MM-DD"  # 时间设置成2022年7月10日0时0分

Solo modifica las horas, minutos y segundos:

date -s "hh:mm:ss"

Cambia todo:

date -s "YYYY-YY-DD HH:mm:ss"

Nota:
La hora modificada mediante el uso del comando de fecha es temporalmente efectiva y dejará de ser válida después de reiniciar el sistema. Debe sincronizarse con la hora actual y la hora del hardware para que tenga efecto de forma permanente.

2. herramienta hwclock

Función: Realice la revisión de la hora y revise la hora del hardware y la hora del sistema. Después de modificar manualmente la hora usando la fecha, debe usar hwclock para verificarlo.

opciones:

-s, --hctosys 	# 以硬件时钟为准,校正系统时钟

-w, --systohc 	# 以系统时钟为准,校正硬件时钟

Descripción: reloj es un enlace suave de hwclock

# centos存在clock和hwclock
    [root@Centos8 ~]# ll `which hwclock`
    -rwxr-xr-x. 1 root root 66928 Jul 22  2020 /usr/sbin/hwclock
    [root@Centos8 ~]# ll `which clock`
    lrwxrwxrwx. 1 root root 7 Jul 22  2020 /usr/sbin/clock -> hwclock

# clock是hwclock的一个软链接,ubuntu上面只有hwclock
    root@ubuntu1804:~# which clock
    root@ubuntu1804:~# which hwclock 
    /sbin/hwclock

Ejemplo: sincronizar la hora del sistema con la hora del hardware

# 同步的时候没有任何提示
root@ubuntu1804:~# hwclock -w  
root@ubuntu1804:~# 

Ejemplo: sincronizar la hora del hardware con la hora del sistema

# # 同步的时候没有任何提示
root@ubuntu1804:~# hwclock -s

3. herramienta timedatectl

Función: La herramienta timedatectl se puede usar para cambiar la zona horaria o para modificar la hora del sistema, y ​​generalmente se usa para cambiar la zona horaria.

Ver una lista de zonas horarias:

# 格式  timedatectl list-timezones 

# 例如:
    root@ubuntu1804:~# timedatectl list-timezones 
    Africa/Abidjan
    Africa/Accra
    .......

Modificar zona horaria:

#   格式
	timedatectl set-timezone 时区
	
# 例如:修改时区      修改时区无任何提示
	root@ubuntu1804:~# timedatectl set-timezone Asia/Shanghai

Fecha y hora modificada:

timedatectl set-time "2017-01-23 10:30:00" # YYYY-mm-dd HH-MM-SS

Habilitar NTP:

timedatectl set-ntp true/false

Modificar la zona horaria por enlace suave:

# 存放时区信息       /etc/timezone
	root@ubuntu1804:~# cat /etc/timezone
	Asia/Shanghai

# 修改时区影响的文件  /etc/localtime

# 例如
	root@ubuntu2004:~# rm -f /etc/localtime  #更改时区最终收到影响的文件:/etc/localtime
    root@ubuntu2004:~# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

root@ubuntu1804:~# ll  /etc/localtime
lrwxrwxrwx 1 root root 35 Mar 28 11:20 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

Tres: use NTP para sincronizar automáticamente la hora

Protocolo NTP (Protocolo de tiempo de red), Protocolo de tiempo de red. La sincronización de la hora de la computadora en la red se puede realizar utilizando el protocolo ntp.

1. herramienta de actualización

Función: use la hora del servidor de sincronización de tiempo para calibrar la hora de la máquina y use el servidor de sincronización de tiempo en Internet para conectarse a Internet

Formato:

ntpdate server_host 

Ejemplo: Usar ntpdate para sincronizar la hora

root@ubuntu1804:~# apt install ntpdate

root@ubuntu1804:~# date 
Tue Dec 13 15:12:07 CST 2022

root@ubuntu1804:~# date -d '-1 day'
Mon Dec 12 15:12:22 CST 2022

root@ubuntu1804:~# ntpdate ntp.aliyun.com
13 Dec 15:12:36 ntpdate[15040]: adjust time server 203.107.6.88 offset 0.002588 sec

root@ubuntu1804:~# date 
Tue Dec 13 15:12:40 CST 2022  #同步后的时间

2. herramienta ntp

Función: use la hora del servidor de sincronización de hora para calibrar la hora de la máquina y puede sincronizar la hora de forma permanente en lugar de una sola vez.
Descripción: la herramienta ntp es una herramienta tanto para el cliente como para el servidor, y se utiliza como cliente de forma predeterminada.

ntp como cliente: se puede utilizar para calibrar la hora local a la hora de otros servidores ntp

ntp como servidor: se utiliza para crear un servidor de tiempo ntp y otros hosts sincronizan la hora local

Herramientas de cliente NTP:

  • Herramienta ntpq: es una herramienta de línea de comandos de ntp, que se utiliza para consultar y controlar el servidor NTP, y obtener información sincronizada con la hora del servidor.
# 查看 NTP 服务器状态:显示当前计算机与所有已配置 NTP 服务器之间的时间同步状态
ntpq -p

# 查看 NTP 服务器系统状态:显示每个 NTP 服务器的系统状态信息
ntpq -c sysstat

# 查看计算机与 NTP 服务器之间的同步状态:示计算机与 NTP 服务器之间的同步状态,包括时间差和延迟等信息
ntpq -c loopstats

3. herramientas cronicas

Función: use la hora del servidor de sincronización de hora para calibrar la hora de la máquina y puede sincronizar la hora de forma permanente en lugar de una sola vez. La precisión y la velocidad de sincronización son más rápidas que ntp.

puerto:

  • Puerto 123 de udp en el lado del servidor, si chrony habilita la función de cliente, monitoreará el puerto 123\udp.
  • El cliente escucha el puerto 323 de udp y la función es la misma que la anterior.

chrony como cliente: se puede usar para calibrar la hora local a la hora de otros servidores ntp

Chrony como servidor: se usa para construir un servidor de tiempo ntp y otros hosts para sincronizar la hora local

Herramientas de cliente de Chrony:

  • chronyc-tools: una herramienta de línea de comandos para administrar y monitorear clientes NTP (protocolo de tiempo de red)
# 检查 NTP 服务器的状态:显示当前的时间误差,NTP 服务器的状态,NTP 版本号等信息。
chronyc tracking

# 查看可用的 NTP 服务器列表:查看本地计算机与 NTP 服务器之间的连接状态
chronyc sources

# 调整时钟频率:立即调整系统时钟,使其与 NTP 服务器同步
chronyc makestep

# 显示当前的活动:显示 NTP 守护进程的当前状态,例如它是否正在向其他 NTP 服务器发送请求或接收响应。
chronyc activity

Cuatro: configuración NTP

Al crear un host como servidor horario, los hosts de otras LAN pueden sincronizarse con la hora local.

1. herramienta ntp

Como cliente:

Simplemente especifique la dirección del servidor ntp en el archivo de configuración

root@ubuntu1804:~# vim /etc/ntp.conf
pool ntp.aliyun.com iburst # iburst表示加速同步

Como servidor:
utilice la hora local como estándar para sincronizar la hora con otros hosts.

# 以本机时间为准,允许所有用户进行同步
root@ubuntu1804:~# vim /etc/ntp.conf
server  127.127.1.0
fudge   127.127.1.0 stratum 10
restrict default

restringir:

  • restrict: se usa para limitar qué hosts o redes pueden comunicarse con el servidor de tiempo. El valor predeterminado es restringir el valor predeterminado para permitir que todos los hosts se sincronicen
  • La configuración del parámetro de restricción puede ayudar a proteger el servidor horario del tráfico no deseado y los ataques de seguridad.
# 格式  restrict [IP] [mask] [netmask_IP] [patameter]
# 参数 
	default  # 默认参数,表示没有限制。这意味着任何客户端都可以访问该服务器并进行时间同步
	ignore   # 表示忽略所有的 NTP 请求,这意味着客户端无法与服务器进行时间同步。
    nomodify # 表示客户端无法修改服务器的时间设置
    noquery  # 表示客户端无法查询服务器的状态信息,例如版本号、偏差等。
    limited  # 表示限制客户端的访问速率,防止客户端过于频繁地请求时间同步。
	ntpport  #  指定允许访问服务器的 NTP 端口范围

# 例如:
#  允许所有客户端访问服务器 (默认)
	restrict default 

# 限制只有同一个局域网内的主机可以同步时间
	restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# 限制来自192.168.1.0/24子网范围内的主机只能通过1234端口访问NTP服务器,而不允许使用其他端口访问。
restrict 192.168.1.0 mask 255.255.255.0 ntpport 1234”

# 限制来自 192.168.1.0/24 网段的所有主机,禁止其查询服务器,并且不信任该网段的主机。
restrict 192.168.1.0 mask 255.255.255.0 noquery notrust


# 局域网里面搭建ntp就使用这个进行限制。
    # 允许192.168.0.0网段访问时间服务器,但是不能修改时间服务器的一些配置。
        # 	modify 表示禁止客户端修改服务器的时间设置,notrap 表示禁止客户端使用 trap 操作。
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

2. herramienta cronica

Como cliente:
simplemente use server o pool para especificar la dirección del servidor ntp.

root@ubuntu1804:~# vim /etc/chrony/chrony.conf
server ntp.aliyun.com

Como servidor:
la hora local se utiliza como estándar y la hora de otros hosts se sincroniza con la hora local.

Debido a que chrony se usa como cliente de forma predeterminada, es decir, el puerto 123 del servidor no se abre de forma predeterminada y debe especificarse en el archivo de configuración para cambiar al modo de servidor.

# 修改改配置文件
root@ubuntu1804:~# vim /etc/chrony/chrony.conf
	server 127.127.1.0             
	fudge 127.127.1.0 stratum 10   
    local stratum 10  # 使用本地硬件时钟作为时间源,并将同步级别设置为 10,表示该服务器的时间较准确
    allow 0.0.0.0/0   # 指定允许同步的网段  表示的是任何主机都可以和本机进行时间的同步
 
# fudge这行是时间服务器的层次。设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0

ilustrar:

  • servidor: se utiliza para especificar un solo servidor NTP
  • grupo: se utiliza para especificar un grupo de servidores NTP en lugar de un solo servidor NTP
  • iburst: haga que la sincronización de tiempo sea más rápida, abra múltiples tareas paralelas para la sincronización
  • prefer: indica que se prefiere esto si se especifican varios servidores de tiempo
server 192.168.7.49 prefer iburst   # prefer表示如果指定了多个时间服务器的情况下优先用这个 iburst:表示加速时间同步

Cinco: realización concreta

1, ntp

Use ntp para sincronizar la hora en el servidor ntp

# 安装ntp服务
root@ubuntu1804:~# apt install ntp

# 只需要在配置文件中加入这个就行
root@ubuntu1804:~# vim /etc/ntp.conf 
	pool ntp.aliyun.com

# 查看 NTP 服务器状态
root@ubuntu1804:~# ntpq  -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp.aliyun.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

# 查看同步后的时间
root@ubuntu1804:~# date 
Wed Mar 29 14:08:54 CST 2023

Use ntp para construir un servidor de hora local

Se tarda de 5 a 10 minutos en esperar la instalación.

# 修改客户端时间用于测试
root@ubuntu1804:~# date -s "20220329"
Tue Mar 29 00:00:00 CST 2022

# 1. 修改服务端配置文件
root@ubuntu1804:~# vim /etc/ntp.conf
pool ntp.aliyun.com iburst
server 127.0.0.1 iburst
fudge  127.127.1.0 stratum 10
restrict source 10.0.0.0 mask 255.255.255.0  nomodify

# 2. 查询和显示NTP服务器的状态
root@ubuntu1804:/var/log/ntpstats# ntpstat
synchronised to local net at stratum 11 
   time correct to within 199 ms
   polling server every 64 s
   
# 查看同步信息 没带星号说明还没开始同步
root@ubuntu1804:/var/log/ntpstats# ntpq  -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.          10 l   11   64   37    0.000    0.000   0.000

# 带星号说明已经开始同步
root@ubuntu1804:/var/log/ntpstats# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   54   64  377    0.000    0.000   0.000


# 3. 客户端时间同步
root@ubuntu1804:~# ntpdate  10.0.0.22
15 Oct 00:19:27 ntpdate[3631]: no server suitable for synchronization found

# 服务端配置好后,需要等5-10分钟左右才能同步成功,否则就会出现上面的提示
root@ubuntu1804:~# ntpdate  10.0.0.22
29 Mar 17:42:59 ntpdate[3632]: step time server 10.0.0.22 offset 14318478.924123 sec

# 查看更新后的时间
root@ubuntu1804:~# date 
Wed Mar 29 16:15:44 CST 2023

2. herramienta cronica

Use chrony para sincronizar la hora en el servidor ntp

# 将本机时间修改为一个错误时间测试
root@ubuntu1804:~# date 
Tue Mar 29 00:00:55 CST 2022

# 安装服务
root@ubuntu1804:~# apt install chrony

# 修改配置文件
root@ubuntu1804:~# vim /etc/chrony/chrony.conf 
pool ntp.aliyun.com iburst

# 重启服务
root@ubuntu1804:~# systemctl restart chronyd.service 

# 查看本地计算机与NTP服务器之间的连接状态
root@ubuntu1804:~# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? 203.107.6.88                  2   6     1    31   -8775h[ -8775h] +/-   31ms

# 查看有多少个ntp源在线
root@ubuntu1804:~# chronyc activity 
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

root@ubuntu1804:~# date 
Wed Mar 29 14:38:41 CST 2023

Use chrony para construir un servidor de hora local

# 客户端时间设置
root@ubuntu1804:~# date  -s "20220228"
Mon Feb 28 00:00:00 CST 2022

# 服务器配置
root@ubuntu1804:~# vim /etc/chrony/chrony.conf 
server 127.0.0.1 iburst
# fudge 127.127.1.0 stratum 10
local stratum 10
allow 0.0.0.0/0

# 重启服务
root@ubuntu1804:~# systemctl restart chronyd.service 

# 查看有多少个ntp源在线
root@ubuntu1804:~# chronyc activity 
200 OK
0 sources online
0 sources offline
1 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

# 显示本机时间和远程服务器同步的情况
root@ubuntu1804:~# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* localhost                    10   6   177     9    -38ns[ +535ns] +/- 1362ns

# 客户端同步时间
root@ubuntu1804:~# ntpdate 10.0.0.22
29 Mar 14:58:27 ntpdate[3607]: adjust time server 10.0.0.22 offset -0.020780 sec
root@ubuntu1804:~# date 
Wed Mar 29 14:58:29 CST 2023

(51 mensajes) configuración servidor NTP_configuración ntp_Blog Resines-Blog CSDN

Seis: Windows compila y usa el servidor NTP

1. Windows crea un servidor NTP

(1) Modifique el registro para iniciar el servidor NTP

快捷键win + R 打开“运⾏”菜单,输⼊regedit打开Windows注册表
修改注册表配置,设定授权时间服务器
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config”
[AnnounceFlags]修改设定值为5

Modifique la configuración del registro para iniciar el servidor ntp:

“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer”
[Enabled]数值修改为1

(2) Reinicie el servicio WindowsTime

# 管理员模式下cmd终端执⾏以下命令:
net stop w32time
net start w32time

2. Windows usa un servidor NTP

(1) Configure el servicio WindowsTime para que se inicie automáticamente

打开Windows系统服务(Win + R然后输⼊services.msc再回⻋),
找到Windows Time系统服务,右击更改属性,将其 "启动类型" 改为 "⾃动"。

(2) Especifique la dirección del servidor ntp

⿏标右击电脑左下⻆的时间,打开:调整⽇期/时间(A)
选择添加不同时区的时钟

Luego seleccione la hora de Internet, haga clic en: Cambiar configuración, marque la casilla superior, seleccione la dirección IP configurada en el paso anterior para el servidor y haga clic en Actualizar ahora.

Supongo que te gusta

Origin blog.csdn.net/dyuan134/article/details/130201683
Recomendado
Clasificación