时间同步服务

多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协 议,日志,集群等。

利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。

目前NTP协议属于运维基础架构中必备的基本服务之一。

主流的时间同步有两种实现方案

ntp

ntp 是使用渐进性同步机制,如果本地时间与标准时间相差较大,则需要一定的时间才能同步完成; 该项目属于早期项目,在Centos8 后不再使用。

chrony

实现NTP协议的的自由软件。

可使系统时钟与NTP服务器,参考时钟(例如GPS接收器)以及使用手表和键盘的手动输入进行同步。

还可以作为NTPv4(RFC 5905)服务器和对等体运行,为网络中的计算机提供时间服务。

设计用于在各种条件下良好运行,包括间歇性和高度拥挤的网络连接,温度变化(计算机时钟对温度敏 感),以及不能连续运行或在虚拟机上运行的系统。

centos8中以后的源中,只有chrony,且默认己经安装

[root@Rocky-9 ~]# rpm -q chrony
chrony-4.5-1.el9.x86_64

chrony

chrony 的优势:

更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,对于并非全天 24 小 时运行的虚拟计算机而言非常有用

能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技 术而言非常有用

在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响

在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性

无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟

chrony 文件组成

可执行程序

#命令行用户工具,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可在一台不同的远程计算机上工作
[root@ubuntu24 ~]# ll /usr/bin/chronyc
-rwxr-xr-x 1 root root 93392 Jul  3 04:22 /usr/bin/chronyc*#后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿
[root@ubuntu24 ~]# ll /usr/sbin/chronyd
-rwxr-xr-x 1 root root 306232 Jul  3 04:22 /usr/sbin/chronyd*

服务unit 文件

[root@ubuntu24 ~]# systemctl status chronyd.service
● chrony.service - chrony, an NTP client/serverLoaded: loaded (/usr/lib/systemd/system/chrony.service; enabled; preset: enabled)Active: active (running) since Sat 2024-09-07 08:56:13 CST; 11h agoDocs: man:chronyd(8)man:chronyc(1)man:chrony.conf(5)Main PID: 1364 (chronyd)Tasks: 2 (limit: 4556)Memory: 2.1M (peak: 3.0M)CPU: 492msCGroup: /system.slice/chrony.service├─1364 /usr/sbin/chronyd -F 1└─1368 /usr/sbin/chronyd -F 1[root@ubuntu24 ~]# ll /lib/systemd/system/chrony.service
-rw-r--r-- 1 root root 1923 Jul  3 02:46 /lib/systemd/system/chrony.service

配置文件

[root@ubuntu24 ~]# tree /etc/chrony/
/etc/chrony/
├── chrony.conf		#主配置文件
├── chrony.keys
├── conf.d
│   └── README
└── sources.d└── README3 directories, 4 files

监听端口

服务端: 123/udp #其它机器通过此端口连接本机,将本机当作ntp服务器
客户端: 323/udp #本机通过此端口同步时间
配置文件说明

常用字段说明

常用字段说明
server时钟服务器地址,加iburst 选项表示服务可用时,一次发送八个数据包,包 间隔通常为2秒,可加快初始同步速度
pool语法和指令与server 字段相似,不同之处在于其指定的NTP服务可以解析多 个IP地址
driftfile根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在 重启后为系统时钟作出补偿
rtcsync启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC)
allow指定可以使用本机服务的设备,格式可以是IP,子网,网段
deny指定不可以使用本机服务的设备,格式可以是IP,子网,网段
cmdallow指定设备可以通过chronyd使用控制指令
cmddeny指定设备不可以通过chronyd使用控制指令
bindcmdaddress允许chronyd监听哪个接口来接收由chronyc执行的命令
makestep通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间 偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗 很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时 调整系统时钟
local stratum 10即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时 给其它客户端

Chrony 客户端工具

chronyc 可以运行在交互式和非交互式两种方式

交互式客户端有以下常用子命令

help 			#显示帮助信息
accheck 		#检查是否对特定主机可访问当前服务器
activity 		#显示有多少NTP源在线/离线
sources [-v]   	#显示当前时间源的同步信息
sourcestats [-v] 	#显示当前时间源的同步统计信息
add server 		#手动添加一台新的NTP服务器
clients 		#报告已访问本服务器的客户端列表
delete 			#手动移除NTP服务器或对等服务器
settime 		#手动设置守护进程时间
tracking 		#显示系统时间信息

示例:

[root@ubuntu24 ~]# chronyc
chrony version 4.5
Copyright (C) 1997-2003, 2007, 2009-2023 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY.  This is free software, and
you are welcome to redistribute it under certain conditions.  See the
GNU General Public License version 2 for details.chronyc> tracking		#服务端没启动
Reference ID    : B9D155DE (185.209.85.222)		#当前同步的NTP服务器ID和IP地址
Stratum         : 3								#层次,跳数
Ref time (UTC)  : Sat Sep 07 12:08:17 2024		#源最后一次获取到的UTC时间
System time     : 0.001906732 seconds slow of NTP time	#当前系统时间与NTP服务时间的偏移量
Last offset     : -0.000028903 seconds			#最后偏移上次时钟更新时本地偏移量
RMS offset      : 0.032938555 seconds			#偏移量平均值
Frequency       : 24.812 ppm slow				#系统时钟偏差值的速率,单位为百万分之一
Residual freq   : +0.001 ppm					#当前源的剩余频率
Skew            : 0.045 ppm						#估计误差范围,单位为百万分之一
Root delay      : 0.098011091 seconds			#到根设备的网络延迟总和
Root dispersion : 0.002618869 seconds			#到根设备的网络延迟平均值
Update interval : 1032.7 seconds				#最近两次时钟更新之间的间隔
Leap status     : Normal						#跳跃状态#列出配置中所有ntp服务源的状态
[root@ubuntu24 ~]# chronyc
chrony version 4.5
Copyright (C) 1997-2003, 2007, 2009-2023 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY.  This is free software, and
you are welcome to redistribute it under certain conditions.  See the
GNU General Public License version 2 for details.chronyc> sourcestats
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
prod-ntp-4.ntp4.ps5.cano>   9   8   329    +51.561    203.442   +169us    13ms
prod-ntp-3.ntp1.ps5.cano>   9   4   330    -72.566    337.641    -36ms    23ms
alphyn.canonical.com        9   6   329    +13.432     46.316  -4651us  2332us
prod-ntp-5.ntp4.ps5.cano>   9   7   332    -39.766    377.322    -32ms    24ms
202.118.1.81                8   5   331     -0.416     12.702  +4858us   701us
tock.ntp.infomaniak.ch      7   4   324     -1.529     11.572    -15ms   511us
1.117.63.30                 8   5   335     -3.460      8.980  -5723us   600us
time.cloudflare.com         9   5   329    -77.194   1350.708    +86ms    98ms#字段说明
Name/IP Address 		#NTP服务器IP地址或主机名,或者参考时钟的refid值
NP 						#当前服务器可用的采样点,用这些点执行线性回归方法来估算偏移值
NR 						#最后一次回归计算后具有相同符号的偏差值的运行次数
Span 					#最旧样本和最新样本之间的间隔,默认单位秒
Frequency 				#NTP服务器的估算偏差值的速率,单位为百万分之一
Freq Skew 				#Freq的估计误差范围,单位为百万分之一
Offset 					#NTP源服务器的偏移量
Std Dev 				#估算的样本标准偏差#查看上次同步
chronyc> sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- prod-ntp-4.ntp4.ps5.cano>     2   6   377    49  +7918us[+7864us] +/-  156ms
^- prod-ntp-3.ntp1.ps5.cano>     2   6   377    48    -45ms[  -45ms] +/-  115ms
^- alphyn.canonical.com          2   6   377    49  -7018us[-7072us] +/-  144ms
^- prod-ntp-5.ntp4.ps5.cano>     2   6   377    46  +6863us[+6863us] +/-  155ms
^* time.neu.edu.cn               1   6   357    49  +4659us[+4605us] +/-   25ms
^+ tock.ntp.infomaniak.ch        1   6   377   117    -14ms[  -15ms] +/-   73ms
^- 1.117.63.30                   2   6   357    45  -4208us[-4208us] +/-  195ms
^- time.cloudflare.com           3   6   377    51   +380ms[ +380ms] +/-  477ms#字段说明
M 			#NTP源 ^表示服务器, = 表示二级时钟, # 表示本地时钟
S 			#NTP源状态,*此源己同步, +可接收的源, -合并算法排除的可接受源, ?没连上的源, x认为该源有错, ~不确定的源
Name/IP address 	#NTP服务器主机名或IP地址或refid值
Stratum 	#层次,跳数,1 表示本地时钟,2 表示通过第一层级的服务器实现同步,以此类推
Poll 		#NTP源的轮询频率,以秒为单位,值为基数2的对数,6表示64秒进行一次同步,chronyd会自动调整此值
Reach 		#8进制数,表示源的可达性,每次对钟收发8个数据包,377表示最后一次同步8个数据包都收到
LastRx 		#多久前从源收到最后一次数据,默认单位是秒
Last sample #上次同步时NTP服务器与本地时间的偏移值 调整后偏移量[实际偏移量]实际测量中的误差范围,+表示正偏移,本地快#查看配置文件
[root@ubuntu24 ~]# cat /etc/chrony/chrony.conf | grep "^pool"
pool ntp.ubuntu.com        iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1
pool 1.ubuntu.pool.ntp.org iburst maxsources 1
pool 2.ubuntu.pool.ntp.org iburst maxsources 2

chrony 是渐进式同步,如果差距过大,想立即同步完成,则可以重启服务

公共NTP服务

常用的公共ntp服务地址

服务提供商地址
ntp poolcn.pool.ntp.org,0- 3.cn.pool.ntp.org
阿里云公共NTPntp.aliyun.com,ntp1-7.aliyun.com time.pool.aliyun.com(windows)
腾讯公共NTPtime1-5.cloud.tencent.com
北京邮电大学NTPs1a.time.edu.cn
清华大学NTPntp.tuna.tsinghua.edu.cn
北京大学NTPs1c.time.edu.cn
国家授时中心服务器210.72.145.44
美国标准技术院time.nist.gov

时间工具

timedatectl :时间查看和设置工具

timedatectl [OPTIONS...] COMMAND ...#常用选项
-h|--help 		#显示帮助信息
--version 		#显示版本信息
-a|--all 		#显示所有属性
--value 		#查询时仅显示值,不显示字段标题#常用子命令
status           	#显示当前时间设置,默认项
show             	#以友好格式显示,具体同容同 status 
set-time TIME     	#修改时间
set-timezone ZONE 	#修改时区
list-timezones   	#列出当前可用时区
set-local-rtc BOOL 	#RPC时间是否关联本地时区
set-ntp BOOL     	#是否开启ntp 服务#示例
[root@ubuntu24 ~]# timedatectlLocal time: Sat 2024-09-07 20:44:00 CST		#本机时间, CST表示北京时间Universal time: Sat 2024-09-07 12:44:00 UTC		#世界标准时间,UTC表示世界标准时间RTC time: Sat 2024-09-07 12:44:00			#RTC时间,硬件时间Time zone: Asia/Shanghai (CST, +0800)		#本机时区
System clock synchronized: yes								#系统时间是否己同步完成NTP service: active							#NTP时间同步服务是否启用RTC in local TZ: no								#RTC时间是否关联本机时区#RTC Real-Time Clock 硬件时间,来自于时钟芯片
#UTC Coordinated Universal Time 世界协调时间,又称世界标准时间
#GMT Greenwich Mean Time 格林尼治(天文台)标准时间#开启RTC时间与本地时区绑定
[root@ubuntu24 ~]# timedatectl set-local-rtc 1		#开启RTC时间与本地时区一致
[root@ubuntu24 ~]# timedatectlLocal time: Sat 2024-09-07 20:46:54 CSTUniversal time: Sat 2024-09-07 12:46:54 UTCRTC time: Sat 2024-09-07 20:46:54Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: yesWarning: The system is configured to read the RTC time in the local time zone.This mode cannot be fully supported. It will create various problemswith time zone changes and daylight saving time adjustments. The RTCtime is never updated, it relies on external facilities to maintain it.If at all possible, use RTC in UTC by calling'timedatectl set-local-rtc 0'.#修改时间
[root@ubuntu24 ~]# timedatectl set-time "2042-10-15 00:00:00"
[root@ubuntu24 ~]# date +"%F %T"
2042-10-15 00:00:16
#修改时间后,可能会导致某些服务不可用(ca证书过期等情况)#开启ntp时间同步服务 0是关闭,1是开启。
[root@ubuntu ~]# timedatectl set-ntp 1
#先关闭再开启可以重置时间

实现私有时间服务

在同一个网络内,如果有多个需要进行时间同步的服务器,则我们可以在内网自建NTP Server,

这样可以节约访问外网的网络资源;另一方面,如果外网不可用,则至少可以保证,内网的NTP服务还 是可用的。

架构图

主机角色系统版本备注
10.0.0.157NTP serverUbuntu24配置成为服务端,为内网提供NTP时间同步服务
10.0.0.158NTP clientRocky9将本机的server 指向157,从157上同步时间
10.0.0.151NTP clientUbuntu22将本机的server 指向157,从157上同步时间

服务端配置

#修改配置文件
[root@ubuntu24 ~]# vim /etc/chrony/chrony.confallow 10.0.0.0/24 #允许10.0.0 网段的主机将本机作为时间同步服务器
local stratum 10 #允许本机在不能与外网同步的情况下,还能提供服务#重启服务
[root@ubuntu24 ~]# systemctl restart chrony.service

Rocky9客户端配置

#添加 server,生产环境下至少两台,保证高可用
[root@Rocky-9 ~]# vim /etc/chrony.conf
server 10.0.0.157 iburst		#加iburst 选项表示服务可用时,一次发送八个数据包,包间隔通常为2秒,可加快初始同步速度#重启服务
[root@Rocky-9 ~]# chronyc -n sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 10.0.0.157                    2   6    77    28  +3670us[ +155us] +/-   25ms

Ubuntu客户端配置

#添加 server,生产环境下至少两台,保证高可用
[root@ubuntu22:~]# vim /etc/chrony/chrony.conf
server 10.0.0.157 iburst		#加iburst 选项表示服务可用时,一次发送八个数据包,包间隔通常为2秒,可加快初始同步速度#重启服务
[root@ubuntu22:~]# systemctl restart chrony.service#查看
[root@ubuntu22:~]# chronyc -n sourcestats
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
10.0.0.157                  4   3     7    +12.693    219.775  -1988us    45us

服务器上查看

[root@ubuntu24 ~]# chronyc clients
Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
===============================================================================
10.0.0.158                     17      0   6   -    60       0      0   -     -
www.linux-magedu.com            5      0   4   -    15       0      0   -     -
#之前配置的DNS
[root@ubuntu24 ~]# dig www.linux-magedu.com; <<>> DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu <<>> www.linux-magedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31737
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 78480eee3c88fb2c0100000066dc51343486d7dbd8ae866f (good)
;; QUESTION SECTION:
;www.linux-magedu.com.		IN	A;; ANSWER SECTION:
www.linux-magedu.com.	86400	IN	CNAME	abc.linux-magedu.com.
abc.linux-magedu.com.	86400	IN	A	10.0.0.151;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sat Sep 07 21:12:20 CST 2024
;; MSG SIZE  rcvd: 111

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/418887.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase 4.x 存储引擎解析:如何让历史库场景成本降低50%+

据国际数据公司&#xff08;IDC&#xff09;的报告显示&#xff0c;预计到2025年&#xff0c;全球范围内每天将产生高达180ZB的庞大数据量&#xff0c;这一趋势预示着企业将面临着更加严峻的海量数据处理挑战。随着数据日渐庞大&#xff0c;一些存储系统会出现诸如存储空间扩展…

AF透明模式/虚拟网线模式组网部署

透明模式组网 实验拓扑 防火墙基本配置 接口配置 eth1 eth3 放通策略 1. 内网用户上班时间&#xff08;9:00-17:00&#xff09;不允许看视频、玩游戏及网上购物&#xff0c;其余时 间访问互联网不受限制&#xff1b;&#xff08;20 分&#xff09; 应用控制策略 2. 互联…

IBM Storwize V7000存储控制器故障节点报错574

背景&#xff1a;由于客户机房搬迁&#xff0c;需要下电迁移设备。该存储自2016年投入生产使用后&#xff0c;从未关过机&#xff0c;已正常运行七八年时间&#xff0c;期间只更换过硬盘&#xff0c;无其他硬件故障。 在GUI界面点击关闭系统后&#xff0c;大概等了40分钟&…

说一下解除docker限制内存警告

有时候docker要对容器使用的内存做出限制&#xff0c;通常的做法是使用参数 -m 例如&#xff1a; docker run -m 512M表示容器内存最大不能超过512M。 但这样做&#xff0c;在ubuntu会看到以下警告 WARNING: Your kernel does not support swap limit capabilitiesdocker官方…

从监控到智能:EasyCVR视频汇聚平台助力加油站安全监管升级转型

随着科技的不断进步&#xff0c;视频监控技术在各个行业的应用日益广泛&#xff0c;尤其在加油站这一关键领域&#xff0c;视频智能监管系统的应用显得尤为重要。TSINGSEE青犀视频EasyCVR视频汇聚平台作为一款基于“云-边-端”一体化架构的视频融合与AI智能分析平台&#xff0c…

JAVA读写Excel(jxl,poi,easyExcel)

目录 一、需求描述 二、具体操作Excel的常用方法 方法一&#xff1a; 使用jxl 方法二&#xff1a; POI 方法三&#xff1a;EasyExcel 三、总结 一、需求描述 前端有时候会传送 Excel 文件给后端&#xff08;Java&#xff09;去解析&#xff0c;那我们作为后端该如何实现…

Jenkins+Svn+Vue自动化构建部署前端项目(保姆级图文教程)

目录 介绍 准备工作 配置jenkins 构建部署任务 常见问题 介绍 在平常开发前端vue项目时,我们通常需要将vue项目进行打包构建,将打包好的dist目录下的静态文件上传到服务器上,但是这种繁琐的操作是比较浪费时间的,可以使用jenkins进行自动化构建部署前端vue 准备工作 准备…

AI模型的未来之路:全能与专精的博弈与共生

人工智能(AI)领域正迅速发展,伴随着技术的不断进步,AI模型的应用范围也在不断扩展。当前,AI模型的设计和使用面临两个主要趋势:全能型模型和专精型模型。这两者之间的博弈与共生将塑造未来的AI技术格局。本文将从以下七个方面探讨AI模型的未来之路,并提供实用的代码示例…

ROS1 + Realsense d455 固件安装+读取rostopic数据

目录 安装固件&#xff08;一定要匹配&#xff09;ROS1 wrapper 安装方法Realsense SDK 安装方法Realsense Firmware 安装方法 修改roslaunch配置文件&#xff0c;打开双目图像和IMU数据其他坑点参考链接 安装固件&#xff08;一定要匹配&#xff09; 如果你是使用ROS1获取rea…

Python数据分析-绘制图表

示例1&#xff1a; from pyecharts.charts import Bar # 柱状图 from pyecharts import options as optsfrom pyecharts.render import make_snapshotbar Bar() bar.add_xaxis([一月, 二月, 三月, 四月, 五月]) bar.add_yaxis("销售额", [10, 20, 15, 25, 30])# 配…

安卓framework单屏幕Display秒双/多屏互动相关需求改进-wms实战开发

背景 前面已经给学员朋友们分享过单屏秒变双屏的成果展示&#xff0c;具体详情可以点击这里&#xff1a; https://mp.weixin.qq.com/s/KdYTLMuXiBdjM0kZmYKzPg 一些vip学员朋友也纷纷求助马哥的实现patch代码&#xff0c;想用于公司的实战项目实现。但是在公司需求实现要求和…

Python(TensorFlow)和MATLAB及Java光学像差导图

&#x1f3af;要点 几何光线和波前像差计算入瞳和出瞳及近轴光学计算波前像差特征矩阵方法计算光谱反射率、透射率和吸光度透镜像差和绘制三阶光线像差图和横向剪切干涉图分析瞳孔平面焦平面和大气湍流建模神经网络光学像差计算透镜光线传播几何偏差计算像差和像散色差纠正对齐…

八、Maven总结

1.为什么要学习Maven&#xff1f; 2.Maven 也可以配华为云和腾讯云等。 3.IDEA整合Maven 4.IDEA基于Maven进行工程的构建 5.基于Maven进行依赖管理&#xff08;重点&#xff09; 6. Maven的依赖传递和依赖冲突 7. Maven工程继承和聚合 8.仓库及查找顺序

应用层协议Http

Http协议 1.1 什么是http协议 在进行网络通信时&#xff0c;应用层协议一般都是程序员自己写的&#xff0c;但是有一些大佬其实已经定义出了一些现成的应用层协议&#xff0c;例如&#xff1a;HTTP&#xff08;超文本传输协议&#xff09;、FTP&#xff08;文件传输协议&#…

SAP学习笔记 - 开发04 - Fiori UI5 开发环境搭建

上一章学习了 CDSView开发环境的搭建&#xff0c;以及CDSView相关的知识。 SAP学习笔记 - 开发03 - CDSView开发环境搭建&#xff0c;Eclipse中连接SAP&#xff0c;CDSView创建-CSDN博客 本章继续学习SAP开发相关的内容&#xff0c; - Fiori UI5的开发环境搭建 - 安装VSCode …

百度飞将 paddle ,实现贝叶斯神经网络 bayesue neure network bnn,aistudio公开项目 复现效果不好

论文复现赛&#xff1a;贝叶斯神经网络 - 飞桨AI Studio星河社区 https://github.com/hrdwsong/BayesianCNN-Paddle 论文复现&#xff1a;Weight Uncertainty in Neural Networks 本项目复现时遇到一个比较大的问题&#xff0c;用pytorch顺利跑通源代码后&#xff0c;修改至pad…

【Python报错已解决】 AttributeError: ‘move_to‘ requires a WebElement

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;检查元素选择器2.2 方法…

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文&#xff5c;华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求&#xff0c;一定…

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具&#xff0c;支持在一块屏幕上同时播放多个视频。其主要功能包括&#xff1a; 多视频播放&#xff1a;用户可以在一个窗口中同时播放任意数量的视频&#xff0c;数量仅受硬件性能限制。支持多种格式和流媒体&…

java实现,PDF转换为TIF

目录 ■JDK版本 ■java代码・实现效果 ■POM引用 ■之前TIF相关的问题&#xff08;两张TIF合并&#xff09; ■对于成果物TIF&#xff0c;需要考虑的点 ■问题 ■问题1&#xff1a;无法生成TIF&#xff0c;已解决 ■问题2&#xff1a;生成的TIF过大&#xff0c;已解决 …