当前位置: 首页 > news >正文

day33-数据同步rsync

一、Rsync本地模式和远程模式

纯通过rsync的命令,来实现,数据目录A 拷贝到数据目录B

也就是模拟cp的用法 很简单

1.安装

yum install rsync -y

2.命令语法,分几个模式

- 本地模式

rsync 参数   源路径  目标路径

rsync  -xxxxx    /var/log    /tmp

- 远程模式

推送方式,把自己的数据推送到另一台机器上(上传)
语法1 ,rsync默认走ssh协议
rsync 参数  源路径  user@ip:目标路径

rsync  -avzP  /var/log/      root@10.0.0.31:/tmp/

 比较常用的组合参数
 rsync -avzP
-a    保持文件原有属性
-v    显示传输细节情况
-z    对传输数据压缩传输
-P    显示文件传输的进度信息


你在命令行里,执行命令,喜欢看到命令的执行过程
-avzP

脚本里面?
bash xxx.sh
rsync -az 

二、本地模式  

 对文件同步

[root@rsync-41 ~]#yum install rsync -y
把本地的的/var/log/messages 文件 拷贝到/opt下拷贝单个文件
[root@rsync-41 ~]#rsync -avzP /var/log/messages /opt
sending incremental file list
messages985,500 100%   56.79MB/s    0:00:00 (xfr#1, to-chk=0/1)sent 123,300 bytes  received 35 bytes  246,670.00 bytes/sec
total size is 985,500  speedup is 7.99拷贝单个大文件,拷贝大文件时,要注意限速,否则占用磁盘IO太多
--bwlimit=10先生成一个5G文件
dd bs=100M count=50 if=/dev/zero  of=/var/log/my_self.logrsync -avzP /var/log/my_self.log  /optiotop查看磁盘的读写IO情况限制单个大文件的传输,速度只给他20M每秒[root@rsync-41 ~]#rsync -avzP --bwlimit=20   /var/log/my_self.log  /opt
sending incremental file list
my_self.log393,117,696   7%   20.14MB/s    0:03:55  

对目录同步(注意语法的区别) 

拷贝后的数据,是否携带该目录本身
[root@rsync-41 ~]#rsync -avzP /var/log    /opt不拷贝该目录本身,拷贝目录下的数据
[root@rsync-41 ~]#rsync -avzP /var/log/    /opt测试文件夹的增量拷贝
[root@rsync-41 ~]#rsync -avzP /test1/   /test2
sending incremental file listsent 118 bytes  received 12 bytes  260.00 bytes/sec
total size is 0  speedup is 0.00
[root@rsync-41 ~]#
[root@rsync-41 ~]#
[root@rsync-41 ~]#
[root@rsync-41 ~]#echo "123" >/test1/1.png 
[root@rsync-41 ~]#
[root@rsync-41 ~]#rsync -avzP /test1/   /test2
sending incremental file list
1.png4 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=4/6)sent 175 bytes  received 35 bytes  420.00 bytes/sec
total size is 4  speedup is 0.02
[root@rsync-41 ~]#

无差异化拷贝

使用--delete参数 将目标目录的数据清空,保证完全和源目录的数据一致rsync -azvP --delete  /test1/   /test2/[root@rsync-41 /test2]#rsync -azvP --delete  /test1/   /test2/
sending incremental file list
deleting 行者孙.png
./
白龙马.png0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/12)sent 269 bytes  received 55 bytes  648.00 bytes/sec
total size is 4  speedup is 0.01
[root@rsync-41 /test2]#
[root@rsync-41 /test2]#
[root@rsync-41 /test2]#ls /test1/
1.png  2.png  3.png  4.png  5.png  孙悟空1  孙悟空2  孙悟空3  孙悟空4  孙悟空5  白龙马.png
[root@rsync-41 /test2]#ls /test2
1.png  2.png  3.png  4.png  5.png  孙悟空1  孙悟空2  孙悟空3  孙悟空4  孙悟空5  白龙马.png# rsync拷贝文件夹,携带目录本身
# 吧test1目录本身,连带着数据,都拷贝到test2下
rsync -avzP /test1    /test2/
最终会生成
/test2/test1/ 该文件夹的数据,和源数据目录 /test1是一样的

对rsync限速,因为rsync在传输数据时,会占用大量的磁盘IO,以及如果是网络传输的话,占用网络带宽,会导致其他程序受影响

所以rsync这样的备份服务,都是在夜里,凌晨操作,被影响其他程序


--bwlimit

 三、远程模式

把/root下的数据,拷贝到 /tmp下

把rsync-41   /root下的数据拷贝到 nfs-31   /tmp下

PUSH 推送模式,上传模式

把rsync-41   /root下的数据,拷贝到 nfs-31   /tmp下登录rsync41
用ip形式、再用主机名形式
添加无差异化参数,该参数,慎用!搞清楚了你在做什么!rsync -avzP  --delete  /root/    root@172.16.1.31:/tmp/

PULL 拉取模式(你要琢磨,数据最终放在了哪)

# 把rsync-41   /root下的数据,拷贝到 nfs-31   /tmp下rsync -avzP   root@172.16.1.41:/root/    /tmp/
# 拉取rsync41的/etc/passwd文件到 nfs-31的/opt下,使用主机名通信rsync -avzP root@rsync-41:/etc/passwd    /opt/

传输目录注意

#传输整个目录,包含目录本身rsync -avzP   root@172.16.1.41:/root    /tmp/
#只传输目录下的文件,不包含目录本身
rsync -avzP   root@172.16.1.41:/root/    /tmp/

无差异传输

#不同主机之间同步数据 --delete
rsync -avzP --delete   root@172.16.1.41:/root    /tmp/#坑:如果/和一个空目录进行完全同步,那么效果和删根一样
#坑:传输过程不限速导致带宽被占满 ,--bwlimit=50远程传输 nfs-31下的 /tmp/2G.log   备份到  rsync-41的/opt下rsync -avzP   /tmp/2G.log   root@172.16.1.41:/opt

-a   保持文件原有属性
-v   显示传输过程
-z   压缩传输数据
-P   显示传输进度

 举例

远程备份文件,且改名
[root@nfs-31 /tmp]#rsync -avzP   /tmp/2G.log   root@172.16.1.41:/opt/2G.logggggggggggggggggggggg
远程传输 nfs-31下的 /tmp/2G.log   备份到  rsync-41的/opt下,且是无差异化备份
等于清空原有/opt下的数据rsync -avzP --delete   /tmp/2G.log   root@172.16.1.41:/opt/2G.log

四、Rsync服务模式-服务端配置

0.为什么需要服务模式 Rsync 借助 SSH 协议同步数据存在的缺陷:

1.使用系统用户(不安全) /etc/passwd

2.使用普通用户(会导致权限不足情况)

3.守护进程传输方式: rsync 自身非常重要的功能(不使用系统用户,更加安全)

1.安装rsync

 yum install rsync -y

2.修改配置文件

cat > /etc/rsyncd.conf << 'EOF'
uid = www 
gid = www 
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd 
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = yuchaoit.cn about rsync
path = /backup[data]
comment = this is secord backup dir,to website data..
path = /data
EOF

3.创建用户以及数据目录

根据你的配置文件中定义的信息,创建对应的用户,备份的目录
该无法登录的用户,只是用于运行进程的账户
useradd -u 1000 -M -s /sbin/nologin www创建配置文件中定义的2个备份目录
mkdir -p /data/   /backup修改备份目录的权限
[root@rsync-41 ~]#chown -R www:www /data/
[root@rsync-41 ~]#chown -R www:www /backup/
[root@rsync-41 ~]#ll -d /data /backup/
drwxr-xr-x 2 www www 6 Apr 20 11:34 /backup/
drwxr-xr-x 2 www www 6 Apr 20 11:34 /data

4.创建rsync专用的账户密码(这一步很重要,有错基本也是来这排查)

1.创建密码文件,写入账户和密码,用于和客户端连接时候的认证
vim /etc/rsync.passwd2.写入账户密码
[root@rsync-41 ~]#cat /etc/rsync.passwd 
rsync_backup:chaoge6663.待会客户端向rsync服务器推送数据,就得用这个账号密码!!!!4.这一步,非常重要,rsync要求降低密码文件的权限,且必须是600chmod 600 /etc/rsync.passwd [root@rsync-41 ~]#ll /etc/rsync.passwd 
-rw------- 1 root root 23 Apr 20 11:36 /etc/rsync.passwd

5.加入开机自启动

设置rsyncd服务,运行,且开机自启systemctl start rsyncd检查rsyncd服务是否运行,以及该服务的运行日志 [root@rsync-41 ~]#cp /etc/rsyncd.conf.bak /etc/rsyncd.conf
[root@rsync-41 ~]#
[root@rsync-41 ~]#
[root@rsync-41 ~]#systemctl restart rsyncd
[root@rsync-41 ~]#
[root@rsync-41 ~]#systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemonLoaded: loaded (/usr/lib/systemd/system/rsyncd.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2022-04-20 11:46:57 CST; 4s agoMain PID: 6078 (rsync)CGroup: /system.slice/rsyncd.service└─6078 /usr/bin/rsync --daemon --no-detachApr 20 11:46:57 rsync-41 systemd[1]: Started fast remote file copy program daemon.
Apr 20 11:46:57 rsync-41 systemd[1]: Starting fast remote file copy program daemon...
Apr 20 11:46:57 rsync-41 rsyncd[6078]: params.c:Parameter() - Ignoring badly formed line in config file: ignore errors
Apr 20 11:46:57 rsync-41 rsyncd[6078]: rsyncd version 3.1.2 starting, listening on port 873
[root@rsync-41 ~]#
[root@rsync-41 ~]#

6.检查服务是否运行

systemctl status rsyncd# 无论是学习期间还是上班了,都养成好习惯
# 给别人启动了某程序后,给自己启动某程序
务必去检查,验证是否正确[root@rsync-41 ~]#ps -ef|grep 'rsync' | grep -v 'grep'
root       6078      1  0 11:46 ?        00:00:00 /usr/bin/rsync --daemon --no-detach[root@rsync-41 ~]#netstat -tunlp|grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      6078/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      6078/rsync     

五、Rsync服务模式-客户端配置

 1.安装rsync

yum install rsync -y

2.配置密码文件及授权

此时rsync客户端,需要把数据推送到rsync服务端
但是需要账户认证,这个账户密码,是服务端指定好的
回头去看笔记
rsync_backup
chaoge666客户端需要做的操作有2个,提供密码认证1. 生成密码文件,每次连接都指定这个密码文件2. 生成密码变量,让当前系统中存在叫做 RSYNC_PASSWORD 这个变量,以及变量的值,是配置文件中的密码即可

推送,备份,发送nfs-31的数据发给rsync-41

把客户端的数据,发送给服务端的backup备份模块下语法,不一样了,注意语法的写法!!!吧客户端的 /tmp/200M.log 备份,发送到rsync-41机器上的 backup模块下rsync -avzP   /tmp/200M.log  账户@主机名::模块名# 默认无密码变量,也无密码文件,需要你自己输入该rsync_backup虚拟用户的密码
# 需要交互式的输入密码,无法再脚本中使用rsync同步命令
# rsync基本都是和脚本结合使用
rsync -avzP   /tmp/200M.log  rsync_backup@rsync-41::backup非交互式密码的操作,如下2个方法
1. 生成密码文件,每次连接都指定这个密码文件(在客户端生成)echo 'chaoge666'  > /etc/my_rsync.pwd
还必须降低密码文件的权限才行,必须是600
chmod 600 /etc/my_rsync.pwd此时可以传输数据了,往data模块下传输
rsync -avzP  --password-file=/etc/my_rsync.pwd   /tmp/200M.log  rsync_backup@rsync-41::data如果是脚本中的话,去掉vP显示过程的参数去掉
rsync -az  --password-file=/etc/my_rsync.pwd   /tmp/200M.log  rsync_backup@rsync-41::data2. 生成密码变量,让当前系统中存在叫做 RSYNC_PASSWORD 这个变量,以及变量的值,是配置文件中的密码即可
export RSYNC_PASSWORD='chaoge666'rsync -avzP    /tmp/200M.log  rsync_backup@rsync-41::backup

下载备份服务器的数据

rsync -avzP rsync_backup@rsync-41::backup   /tmp/要输入密码
1.的确没指定密码文件
2.是否有密码变量呢?如何需要输入密码呢?
撤销这个密码变量
unset RSYNC_PASSWORD
或者重新登录,只要密码变量失效,就必须得输入密码了,或者使用密码文件rsync -avzP rsync_backup@rsync-41::backup   /tmp/非交互式的密码认证方式
1,使用密码变量
export RSYNC_PASSWORD='chaoge666'2.指定密码文件rsync -avzP --password-file=/etc/my_rsync.pwd  rsync_backup@rsync-41::backup   /tmp/rsync -avzP --password-file=/etc/my_rsync.pwd  rsync_backup@rsync-41::backup/222222222.log   /tmp/

相关文章:

day33-数据同步rsync

一、Rsync本地模式和远程模式 纯通过rsync的命令&#xff0c;来实现&#xff0c;数据目录A 拷贝到数据目录B 也就是模拟cp的用法 很简单 1.安装 yum install rsync -y 2.命令语法&#xff0c;分几个模式 - 本地模式 rsync 参数 源路径 目标路径 rsync -xxxxx /var…...

Android 实现首页Tab切换并且支持懒加载功能详解

目录 1. 添加依赖2. 布局文件3. 创建 Fragment4. 创建适配器5. 在 MainActivity 中设置 TabLayout 和 ViewPager2 1. 添加依赖 在 build.gradle 文件中添加以下依赖&#xff1a; implementation androidx.viewpager2:viewpager2:1.1.0-beta01 implementation com.google.andr…...

[Android] 360行车记录仪谷歌版

[Android] 360行车记录仪谷歌版 链接&#xff1a;https://pan.xunlei.com/s/VOIQYq-jmW8Jpb8y3EIA3YdtA1?pwd3abw# 新买的360行车记录仪&#xff0c;配套软件让安装360智慧生活软件&#xff0c;二百多兆&#xff0c;各种功能齐全、忒齐全&#xff0c;好多用不到&#xff0c;…...

基于Redis分布式锁

1. 获取锁的过程 使用SETNX命令&#xff1a;SETNX&#xff08;SET if Not eXists&#xff09;是一个原子操作&#xff0c;它会在指定的key不存在时&#xff0c;将key的值设置为给定的value&#xff0c;并返回1&#xff1b;如果key已经存在&#xff0c;则不做任何操作&#xff0…...

Spring Boot 条件注解:@ConditionalOnProperty 完全解析

在 Spring Boot 项目中&#xff0c;有时候我们希望根据配置文件中的某个属性值来决定是否启用某个功能或加载某个组件。此时&#xff0c;ConditionalOnProperty 注解就可以发挥作用。它通过配置文件的属性值控制 Bean 或配置类的加载&#xff0c;使得我们的程序更具灵活性。 本…...

canny边缘检测

Canny边缘检测算法是一种广泛使用的边缘检测方法&#xff0c;由John F.Canny在1986年提出。它被认为是边缘检测的“黄金标准”&#xff0c;因为它在检测边缘的同时能够很好地抑制噪声&#xff0c;并且能够精确地定位边缘。Canny算法通过一系列步骤来实现鲁棒的边缘检测&#xf…...

团建 蓝桥杯省a 15

问题描述 小蓝正在和朋友们团建&#xff0c;有一个游戏项目需要两人合作&#xff0c;两个人分别拿到一棵大小为 nn 和 mm 的树&#xff0c;树上的每个结点上有一个正整数权值。 两个人需要从各自树的根结点 1 出发走向某个叶结点&#xff0c;从根到这个叶结点的路径上经过的所…...

【逻辑学导论】1.6 有效性和真实性

当一个演绎论证成功地将结论和前提必然地联系起来&#xff0c;它是有效的。有效性是针对论证的各命题之间的关系而言的。一个论证是有效的&#xff0c;当且仅当它不可能有真前提和假结论&#xff0c;当且仅当其结论是从其前提逻辑必然地推导出来的。因此&#xff0c;有效性永远…...

IDEA 中集成 Maven,配置环境、创建以及导入项目

目录 在 IntelliJ IDEA 中集成 Maven 并配置环境 1. 打开 IDEA 设置 2. 定位 Maven 配置选项 3. 配置 Maven 路径 4. 应用配置 创建 Maven 项目 1. 新建项目 2. 选择项目类型 3. 配置项目信息 4. 确认 Maven 设置 5. 完成项目创建 导入 Maven 项目 1. 打开导入窗口…...

Qt跨屏窗口的一个Bug及解决方案

如果我们希望一个窗口覆盖用户的整个桌面&#xff0c;此时就要考虑用户有多个屏幕的场景&#xff08;此窗口要横跨多个屏幕&#xff09;&#xff0c;由于每个屏幕的分辨率和缩放比例可能是不同的&#xff0c;Qt底层在为此窗口设置缩放比例&#xff08;DevicePixelRatio&#xf…...

Vue WebSocket简单应用 ws

webSocket应用 <template><div></div> </template><script> import { getToken } from "/utils/auth"; export default {data() {return {url: "",Socket: null, //socket对象lockReconnect: false, //锁定拒绝重连close: …...

快速单机部署ollama v0.5.7 +openwebui(免去网络环境干扰)

1 概述 本文介绍在一台机器上快速部署测试ollama和openwebui&#xff0c;免去国内网络环境的干扰。 2 环境 2.1 环境 版本信息如下&#xff1a; a、操作系统&#xff1a;centos 7.9 c、docker版本&#xff1a;20.10.5-3 3 部署 3.1 安装docker yum install -y yum-util…...

【华为OD-E卷 - 114 找最小数 100分(python、java、c++、js、c)】

【华为OD-E卷 - 找最小数 100分&#xff08;python、java、c、js、c&#xff09;】 题目 给一个正整数NUM1&#xff0c;计算出新正整数NUM2&#xff0c;NUM2为NUM1中移除N位数字后的结果&#xff0c;需要使得NUM2的值最小 输入描述 输入的第一行为一个字符串&#xff0c;字…...

快速搭建GPU环境 | docker、k8s中使用gpu

目录 一、裸机部署安装 GPU Driver安装 CUDA Toolkit测试 二、Docker 环境安装 nvidia-container-toolkit配置使用该 runtime 三、 k8s 环境安装 device-plugin安装 GPU 监控 一、裸机部署 裸机中要使用上 GPU 需要安装以下组件&#xff1a; GPU DriverCUDA Toolkit 二者的关…...

VSCode设置——通过ctrl+鼠标滚动改变字体大小(新版本的vs)

"editor.mouseWheelZoom": true 第一步&#xff1a; 第二步&#xff1a;...

【kafka实战】06 kafkaTemplate java代码使用示例

在 Spring Boot 中使用 KafkaTemplate 可以方便地向 Kafka 发送消息。下面为你详细介绍使用步骤和示例代码。 1. 创建 Spring Boot 项目 你可以使用 Spring Initializr&#xff08;https://start.spring.io/ &#xff09;来创建一个新的 Spring Boot 项目&#xff0c;添加以下…...

Java 23新特性

文章目录 Java 23新特性一、引言二、Markdown文档注释&#xff08;JEP 467&#xff09;示例 三、ZGC&#xff1a;默认的分代模式&#xff08;JEP 474&#xff09;1. 为什么要引入分代模式2. 使用分代模式的优势3. 如何启用分代模式 四、隐式声明的类和实例主方法&#xff08;JE…...

bat脚本实现自动化漏洞挖掘

bat脚本 BAT脚本是一种批处理文件&#xff0c;可以在Windows操作系统中自动执行一系列命令。它们可以简化许多日常任务&#xff0c;如文件操作、系统配置等。 bat脚本执行命令 echo off#下面写要执行的命令 httpx 自动存活探测 echo off httpx.exe -l url.txt -o 0.txt nuc…...

[创业之路-285]:《产品开发管理-方法.流程.工具 》-1- IPD的功能列表以及导入步骤

一、概述&#xff1a; 对于没有IPD&#xff08;集成产品开发&#xff09;流程的公司来说&#xff0c;导入IPD需要循序渐进、有序进行&#xff0c;而不是一步到位。这是因为IPD不仅仅是一种新的产品开发流程&#xff0c;它还涉及到公司文化、组织结构、团队协作方式以及思维方式…...

Redis命令:列表模糊删除详解

前言 在Redis中&#xff0c;列表&#xff08;List&#xff09;是一种非常常用的数据结构&#xff0c;允许存储多个有序的元素。然而&#xff0c;在实际应用中&#xff0c;可能会遇到需要删除列表中符合某种模式的元素的需求。本文将详细介绍如何在Redis中实现列表的模糊删除。…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...