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

Linux中rsync命令使用

一、rsync简介

rsync 是一种高效的文件复制和同步工具,常用于在本地或远程计算机之间同步文件和目录

主要特性
增量同步:rsync 会检测源和目标文件之间的差异,只传输发生变化的部分,而不是重新传输整个文件。这样就能有效减少数据传输量。
支持远程同步:rsync 可以通过 SSH、RSH 或者 rsync 自身的协议在远程服务器之间传输文件。
文件压缩:可以在传输过程中启用压缩选项,减少网络带宽的使用。
文件权限、时间戳和符号链接的保留:rsync 支持保留文件的权限、时间戳、符号链接等文件属性。
支持排除规则:可以通过排除规则,指定哪些文件或目录不被同步。
支持断点续传:在传输过程中断开连接后,rsync 可以从断点继续传输数据,而不需要重新开始。

二、rsync本地模式和远程模式

1、命令说明

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

语法:rsync  [选项]  源数据   目的数据

2、安装

centos:        yum install rsync -y

ubuntu:        apt-get install rsync

3、命令语法,分几个模式

- 本地模式

rsync 参数   源路径  目标路径

rsync  -xxxxx    /var/log    /tmp

- 远程模式,推送方式,把自己的数据推送到另一台机器上(上传)

语法1 ,rsync默认走ssh协议
rsync 参数  源路径  user@ip:目标路径

例如:

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

语法2
rsync 参数 源路径  user@ip::目标路径


- 远程模式,拉取方式,拉取别人机器的数据到自己的机器上(下载)
rsync  参数   user@ip:源路径   目标路径
rsync  参数   user@ip::源路径目标路径

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

参数解释

    -v        详细模式输出
    -a        归档模式,递归的方式传输文件,并保持文件的属性,等同于 -rlptgoD
    -r         递归拷贝目录
    -l         保留软链接
    -p        保留原有权限
    -t         保留原有时间(修改)
    -g        保留属组权限
    -o        保留属主权限
    -D        等于--devices  --specials    表示支持b,c,s,p类型的文件
    -R        保留相对路径
    -H        保留硬链接
    -A         保留ACL策略
    -e         指定要执行的远程shell命令
    -E         保留可执行权限
    -X         保留扩展属性信息  a属性


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


你在命令行里,执行命令,如果喜欢看到命令的执行过程 ,则使用
-avzP

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

4、本地模式

linux机器本身,数据来回发送

# 后面cp命令可以不用了,用rsync当作cp使用

# /var/log/50G 

cp /var/log/   /tmp/
touch /var/log/new1.file
cp /var/log/   /tmp/

# 用rsync,支持增量备份
# /var/log/50G 

rsync  -avzP /var/log/   /tmp/ 
touch /var/log/new1.file
rsync  -avzP /var/log/   /tmp/ 

4.1 对文件同步

把本地的的/var/log/messages 文件 拷贝到/opt下拷贝单个文件
[rsync-41 root ~] # rsync -avzP /var/log/messages /opt
sending incremental file list
messages247,040 100%   51.09MB/s    0:00:00 (xfr#1, to-chk=0/1)sent 28,823 bytes  received 35 bytes  57,716.00 bytes/sec
total size is 247,040  speedup is 8.56拷贝单个大文件,拷贝大文件时,要注意限速,否则占用磁盘IO太多
--bwlimit=10先生成一个5G文件
dd bs=100M count=50 if=/dev/zero  of=/var/log/my_self.log
[rsync-41 root ~] # 
[rsync-41 root ~] # dd bs=100M count=50 if=/dev/zero  of=/var/log/my_self.log
50+0 records in
50+0 records out
5242880000 bytes (5.2 GB) copied, 47.1259 s, 111 MB/srsync -avzP /var/log/my_self.log  /opt
iotop查看磁盘的读写IO情况限制单个大文件的传输,速度只给他20M每秒[rsync-41 root ~] # rsync -avzP --bwlimit=20   /var/log/my_self.log  /opt
sending incremental file list
my_self.log3,957,981,184  75%   20.12MB/s    0:01:02

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

拷贝后的数据,是否携带该目录本身
[rsync-41 root ~] # rsync -avzP /var/log    /opt
sending incremental file list
log/
log/boot.log8,382 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=53/55)
log/boot.log-202412038,973 100%    8.56MB/s    0:00:00 (xfr#2, to-chk=52/55)
log/boot.log-2025010416,793 100%    5.34MB/s    0:00:00 (xfr#3, to-chk=51/55)
......[rsync-41 root ~] # 
[rsync-41 root ~] # ls -lh /opt/
total 4.9G
drwxr-xr-x 7 root root 4.0K Jan  6 11:04 log
-rw------- 1 root root 242K Jan  6 10:54 messages
-rw-r--r-- 1 root root 4.9G Jan  6 10:55 my_self.log不拷贝该目录本身,拷贝目录下的数据[rsync-41 root ~] # rsync -avzP /var/log/    /opt
sending incremental file list
./
boot.log8,382 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=53/55)
boot.log-202412038,973 100%    8.56MB/s    0:00:00 (xfr#2, to-chk=52/55)
boot.log-20250104
......[rsync-41 root ~] # ls -lh /opt/
total 4.9G
drwxr-xr-x 2 root root  232 Dec  2 16:13 anaconda
drwx------ 2 root root   23 Dec  2 16:37 audit
-rw------- 1 root root  11K Jan  6 11:04 cron
-rw------- 1 root root  21K Jan  4 18:38 cron-20250104
-rw-r--r-- 1 root root 286K Jan  6 10:55 lastlog
drwxr-xr-x 7 root root 4.0K Jan  6 11:04 log
-rw------- 1 root root  184 Jan  6 10:28 maillog
-rw------- 1 root root  564 Jan  4 17:09 maillog-20250104
-rw------- 1 root root 254K Jan  6 11:04 messages
-rw------- 1 root root 833K Jan  4 18:37 messages-20250104
-rw-r--r-- 1 root root 4.9G Jan  6 10:55 my_self.log
....测试文件夹的增量拷贝
[rsync-41 root ~] # mkdir /test1
[rsync-41 root ~] # rsync -avzP /test1/ /test2
sending incremental file list
./sent 43 bytes  received 19 bytes  124.00 bytes/sec
total size is 0  speedup is 0.00
[rsync-41 root ~] # echo "123" >/test1/1.png 
[rsync-41 root ~] # rsync -avzP /test1/   /test2
sending incremental file list
./
1.png4 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/2)sent 111 bytes  received 38 bytes  298.00 bytes/sec
total size is 4  speedup is 0.03
[rsync-41 root ~] # ls -lh /test2/
total 4.0K
-rw-r--r-- 1 root root 4 Jan  6 11:10 1.png
[rsync-41 root ~] # 

4.3 无差异化拷贝

使用--delete参数 将目标目录的数据清空,保证完全和源目录的数据一致

[rsync-41 root ~] # ls /test1/
1.png  2.png  3.png  4.png  5.png
[rsync-41 root ~] # 
[rsync-41 root ~] # ls /test2/
1.png
[rsync-41 root ~] # 
[rsync-41 root ~] # rsync -azvP --delete /test1/ /test2/
sending incremental file list
./
1.png4 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=4/6)
2.png0 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=3/6)
3.png0 100%    0.00kB/s    0:00:00 (xfr#3, to-chk=2/6)
4.png0 100%    0.00kB/s    0:00:00 (xfr#4, to-chk=1/6)
5.png0 100%    0.00kB/s    0:00:00 (xfr#5, to-chk=0/6)sent 319 bytes  received 114 bytes  866.00 bytes/sec
total size is 4  speedup is 0.01
[rsync-41 root ~] # ls /test1/
1.png  2.png  3.png  4.png  5.png
[rsync-41 root ~] # ls /test2/
1.png  2.png  3.png  4.png  5.png# rsync拷贝文件夹,携带目录本身
# 把test1目录本身,连带着数据,都拷贝到test2下
rsync -avzP /test1    /test2/
最终会生成
/test2/test1/ 该文件夹的数据,和源数据目录 /test1是一样的

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

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

--bwlimit

5、远程模式

将/root下的数据,拷贝到/tmp下面

把rsync-41   /root下的数据

拷贝到 nfs-31   /tmp下

使用rsync命令实现如scp的作用

# PUSH 推送模式,上传模式

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

登录rsync41
用ip形式、再用主机名形式
添加无差异化参数,该参数,慎用!搞清楚了自己在做什么!

rsync -avzP  --delete  /root/    root@172.16.1.31:/tmp/

rsync同步后,nfs-31机器/tmp目录下面文件就变成rsync-41  /root下的数据了

# PULL 拉取模式(需要确定,数据最终放在了哪)
# 把rsync-41   /root下的数据,拷贝到 nfs-31   /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   显示传输进度

远程备份文件,并重命名

远程传输 nfs-31下的 /tmp/2G.log   备份到  rsync-41的/opt下,且是无差异化备份
等于清空原有/opt下的数据[nfs-31 root ~] # rsync -avzP /tmp/2G.log root@172.16.1.41:/opt/2G.log
root@172.16.1.41's password: 
sending incremental file list
2G.log0 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)sent 84 bytes  received 35 bytes  47.60 bytes/sec
total size is 0  speedup is 0.00
[nfs-31 root ~] # [rsync-41 root ~] # ls /opt/
vmware-network.3.log  vmware-network.3.log2
[rsync-41 root ~] # 
[rsync-41 root ~] # 
[rsync-41 root ~] # ls
anaconda-ks.cfg  network.sh

三、rsync服务模式-服务端配置

1、为什么需要服务模式

Rsync 借助 SSH 协议同步数据存在的缺陷:

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

(2).使用普通用户(会导致权限不足情况) 3.守护进程传输方式: rsync 自身非常重要的功能(不使用系统用户,更加安全)

2、修改rsync配置文件

[rsync-41 root ~] # vim /etc/rsyncd.conf 
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 = niumait.cn about rsync
path = /backup[data]
comment = this is secord backup dir,to website data..
path = /data

3、创建用户和数据目录

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

4、创建rsync专用的账号密码(这一步很重要,如果后面有错基本也是来这排查)

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

5、设置开机自启动

设置rsyncd服务,运行,且开机自启
[rsync-41 root ~] # systemctl start rsyncd
[rsync-41 root ~] # 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 Mon 2025-01-06 14:11:28 CST; 12s agoMain PID: 3686 (rsync)CGroup: /system.slice/rsyncd.service└─3686 /usr/bin/rsync --daemon --no-detachJan 06 14:11:28 rsync-41 systemd[1]: Started fast remote file copy program daemon.
Jan 06 14:11:28 rsync-41 rsyncd[3686]: params.c:Parameter() - Ignoring badly formed line in conf...rors
Jan 06 14:11:28 rsync-41 rsyncd[3686]: rsyncd version 3.1.2 starting, listening on port 873
Hint: Some lines were ellipsized, use -l to show in full.
[rsync-41 root ~] # [rsync-41 root ~] # systemctl enable rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.检查服务进程是否运行
[rsync-41 root ~] # ps -ef|grep 'rsync' | grep -v 'grep'
root       3686      1  0 14:11 ?        00:00:00 /usr/bin/rsync --daemon --no-detach
[rsync-41 root ~] # 
[rsync-41 root ~] # netstat -tunlp|grep rsync
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      3686/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      3686/rsync

四、rsync服务模式-客户端配置

1、安装rsync

2、配置密码文件及授权

非交互式密码的操作,如下2个方法
1. 生成密码文件,每次连接都指定这个密码文件(在客户端生成)
[nfs-31 root ~] # cat /etc/rsync.passwd 
niuma666还必须降低密码文件的权限才行,必须是600
[nfs-31 root ~] # chmod 600 /etc/my_rsync.pwd
[rsync-41 root ~] # ll /etc/rsync.passwd 
-rw------- 1 root root 22 Jan  6 14:05 /etc/rsync.passwd[nfs-31 root ~] # rsync -avzP --password-file=/etc/rsync.passwd  test.tar.gz rsync_backup@rsync-41::bac  p
sending incremental file list
test.tar.gz10,240 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)sent 123 bytes  received 43 bytes  332.00 bytes/sec
total size is 10,240  speedup is 61.692. 生成密码变量,让当前系统中存在叫做 RSYNC_PASSWORD 这个变量,以及变量的值,是配置文件中的密码即可[nfs-31 root ~] # tail -1 .bashrc 
export RSYNC_PASSWORD="niuma666"[nfs-31 root ~] # rsync -avzP  test.tar.gz   rsync_backup@rsync-41::backup
sending incremental file list
test.tar.gz10,240 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)sent 123 bytes  received 43 bytes  332.00 bytes/sec
total size is 10,240  speedup is 61.69[nfs-31 root ~] # rsync -avzP  test.tar.gz   rsync_backup@rsync-41::data
sending incremental file list
test.tar.gz10,240 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)sent 123 bytes  received 43 bytes  332.00 bytes/sec
total size is 10,240  speedup is 61.69

以上就是rsync的基本使用方法,如有错误请各位大佬多多指正😁😁

相关文章:

Linux中rsync命令使用

一、rsync简介 rsync 是一种高效的文件复制和同步工具,常用于在本地或远程计算机之间同步文件和目录 主要特性增量同步:rsync 会检测源和目标文件之间的差异,只传输发生变化的部分,而不是重新传输整个文件。这样就能有效减少数据…...

opencv 学习(1)

文章目录 opencv导学部分opencv的作用ffmpeg和 opencv的关系opencv的未来 计算机视觉是什么? opencv导学部分 opencv的作用 1 : 目标识别 人脸识别 车辆识别 2 : 自动驾驶技术 – 计算机视觉 进行车道的检测 3 : 医学图像分析 通过分析光片 来分析人到底得了什么病…...

中高级运维工程师运维面试题(十一)之 Docker

目录 往期回顾前言基础知识1. 什么是 Docker?2. Docker 的核心组件有哪些?3. Docker 镜像和容器有什么区别?4. 什么是 Dockerfile? 高级知识5. 什么是多阶段构建?如何使用?6. Docker 网络有哪些模式&#x…...

Kafka如何实现顺序消费?

Kafka的消息是存储在指定的topic中的某个partition中的。并且一个topic是可以有多个partition的。同一个partition中的消息是有序的,但是跨partition,或者跨topic的消息就是无序的了。 为什么同一个partition的消息是有序的? 因为当生产者向某个parti…...

通过 ulimit 和 sysctl 调整Linux系统性能

目录 一:资源限制管理工具:ulimit1、ulimit 作用介绍2、ulimit 常用选项3、ulimit 配置文件 二:内核参数调整工具:sysctl1、sysctl 作用介绍2、sysctl 常用选项3、sysctl 配置文件 一:资源限制管理工具:uli…...

pandas基础使用

pandas基础使用 基本介绍 类似于字典形式的numpy,可以给它的不同行和不同列进行重命名。 import numpy as np import pandas as pd # 创建一个序列 s pd.Series([1,4,True,np.nan,55.0])创建date format日期矩阵 import numpy as np import pandas as pd dates…...

2024.1.5总结

今日不开心:这周本来想花点时间学习的,没想到全都花在刷视频,外出消费去了。 今日思考: 1.找对象这件事确实不能强求,顺其自然吧,单身和不单身,其实,各有各的利弊。在一次坐地铁的过程中,我一…...

解释一下:运放的输入偏置电流

输入偏置电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…...

Federation机制的实现

1.关闭Hadoop的HDFS和YARN,依次执行“stop-yarn.sh”和“stop-dfs.sh”命令关闭Hadoop的YARN和HDFS。 2.删除3台虚拟机上的临时文件: 3.修改hdfs-site.xml配置文件,进入虚拟机liumengting1的/export/servers/hadoop-3.3.4/etc/hadoop目录&…...

120.Jenkins里的Pipeline Script

目录 1. **Declarative Pipeline** 主要部分 示例 2. **Scripted Pipeline** 主要部分 示例 3. **常用指令和功能** 环境变量 工具管理 文件操作 构建触发器 并行执行 异常处理 用户交互 4.**两种类型的特点** 1. **声明式 Pipeline (Declarative Pipeline)** 中…...

SpringBoot3-整合WebSocket指南

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ SpringBoot3-整合WebSocket指南 1. 什么是WebSocket?2. 环境准备2.1 项目依赖 3. WebSocket配置3.1 WebSocket配置类3.2 自定义WebSocket处理器 4. 控制器5. 前端实现5.…...

【npm依赖包介绍】借助rimraf依赖包,在用npm run build构建项目时,清空dist目录,避免新旧混合

文章目录 背景如何使用附上rimraf的介绍和说明主要作用使用场景安装使用示例异步删除同步删除 参考资料 背景 在npm run build时,一般都会清空项目中已有的dist目录再构建,避免新旧混合。 如何使用 可以简单使用rimraf这个npm依赖包。 目前rimraf的最…...

python学opencv|读取图像(二十四)使用cv2.putText()绘制文字进阶-倾斜文字

【1】引言 前述学习进程中,我们已经掌握了pythonopencv绘制文字的基本技能,相关链接为: python学opencv|读取图像(二十三)使用cv2.putText()绘制文字-CSDN博客 在这里,我们使用不同的字体、线条颜色和线…...

【简博士统计学习方法】第1章:3. 统计学习方法的三要素

3. 统计学习方法的三要素 3.1 监督学习的三要素 3.1.1 模型 假设空间(Hypothesis Space):所有可能的条件概率分布或决策函数,用 F \mathcal{F} F表示。 若定义为决策函数的集合: F { f ∣ Y f ( X ) } \mathcal{F…...

“AI智慧语言训练系统:让语言学习变得更简单有趣

大家好,我是你们的老朋友,一个热衷于探讨科技与教育结合的产品经理。今天,我想和大家聊聊一个让语言学习变得不再头疼的话题——AI智慧语言训练系统。这个系统可是我们语言学习者的福音,让我们一起来揭开它的神秘面纱吧&#xff0…...

机器学习笔记 - 单幅图像深度估计的最新技术

1、深度估计简述 单眼深度估计是一项计算机视觉任务,AI 模型从单个图像中预测场景的深度信息。模型估计场景中对象从一个照相机视点的距离。单目深度估计已广泛用于自动驾驶、机器人等领域。深度估计被认为是最困难的计算机视觉任务之一,因为它要求模型理解对象及其深度信息之…...

洛谷:P1540 [NOIP2010 提高组] 机器翻译

[NOIP2010 提高组] 机器翻译 题目背景 NOIP2010 提高组 T1 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于…...

2025第2周 | JavaScript中的函数的参数默认值和剩余参数

目录 1. 函数的默认值1.1 ES5的时候默认值写法1.2 es6的默认值1.3 babel转换之后1.4 有默认值的参数建议放到最后1.5 有默认值的函数length属性 2. 参数为对象时默认值及解构2.1 默认值和解构一起使用2.2 默认值为一个空对象 3. 剩余参数3.1 剩余参数必须放到最后3.2 剩余参数和…...

Unity学习之UGUI(三)

十二、Slider 1、作用 Slider是滑动条组件,是UGUI中用于处理滑动条相关交互的关键组件 创建Slider默认包括4个对象 父对象:Slider组件依附的对象 子对象:背景图,进度图,滑动块三组对象 2、主要参数 3、代码控制 voi…...

分享3个国内使用正版GPT的网站【亲测有效!2025最新】

1. molica 传送入口:https://ai-to.cn/url/?umolica 2. 多帮AI 传送入口:https://aigc.openaicloud.cn?inVitecodeMYAAGGKXVK 3. 厉害猫 传送入口:https://ai-to.cn/url/?ulihaimao...

ffmpeg-avio实战:打开本地文件或者网络直播流dome

使用ffmpeg打开打开本地文件或者网络直播流的一个小dome。流程产靠ffmpeg4.x系列的解码流程-CSDN博客 #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libavformat/avio.h> #include <libavutil/file.h> #include &l…...

三维管线管网自动化建模工具MagicPipe3D V3.6.0

经纬管网建模系统MagicPipe3D&#xff0c;本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析。欢迎…...

设计基于检索增强生成的个性化语言模型(RAG-based LLM)

设计基于检索增强生成的个性化语言模型&#xff08;RAG-based LLM&#xff09; 引言 在当今快速发展的自然语言处理技术中&#xff0c;生成式预训练模型&#xff08;LLM&#xff09;对个性化和可靠结果的需求不断增加。为了满足这种需求&#xff0c;基于检索增强生成&#xf…...

Oracle Dataguard(主库为单节点)配置详解(5):使用 rman 复制技术(DUPLICATE)同步主库到备库

Oracle Dataguard&#xff08;主库为单节点&#xff09;配置详解&#xff08;5&#xff09;&#xff1a;使用 rman 复制技术&#xff08;DUPLICATE&#xff09;同步主库到备库 目录 Oracle Dataguard&#xff08;主库为单节点&#xff09;配置详解&#xff08;5&#xff09;&am…...

119.使用AI Agent解决问题:Jenkins build Pipeline时,提示npm ERR! errno FETCH_ERROR

目录 1.Jenkins Build时的错误 2.百度文心快码AI智能体帮我解决 提问1&#xff1a;jenkins中如何配置npm的源 提问2&#xff1a;jenkins pipeline 类型为pipeline script from SCM时&#xff0c;如何配置npm源 3.最终解决方法-Jenkinsfile的修改 4.感触 1.Jenkins Build时…...

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测

回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、极限学习机&#xff08;ELM&#xff09; 极限学习机是一种单层前馈神经网络&#xff0c;具有训练速…...

服务器漏洞修复解决方案

漏洞1、远程桌面授权服务启用检测【原理扫描】 Windows Remote Desktop Licensing Service is running: Get Server version: 0x60000604 1、解决方案&#xff1a;建议禁用相关服务避免目标被利用 方法一&#xff1a;使用服务管理器 打开“运行”对话框&#xff08;WinR&am…...

Couldn‘t resolve host name for http://mirrorlist.centos.org

【问题】 在CentOS8执行sudo yum update -y 软件包更新的时候报错 Errors during downloading metadata for repository appstream:- Curl error (6): Couldnt resolve host name for http://mirrorlist.centos.org/?release8-stream&archx86_64&repoAppStream&…...

Vue2:el-table中的文字根据内容改变颜色

想要实现的效果如图,【级别】和【P】列的颜色根据文字内容变化 1、正常创建表格 <template><el-table:data="tableData"style="width: 100%"><el-table-column prop="id" label="ID"/> <el-table-column …...

C++静态变量的使用方法?C++静态变量占用内存情况?拷贝构造函数会拷贝哪些内容?const使用注意

1.静态变量的使用 函数中使用&#xff1a;静态变量初次声明并定义作为初始值&#xff0c;后续再次运行函数&#xff0c;基于上次的结果累加类中&#xff1a;类内声明&#xff0c;类外实现&#xff08;如声明为const&#xff0c;特殊情况&#xff0c;可以类内直接声明时定义&am…...

Linux初识——基本指令

我们在linux下输入各种指令&#xff0c;其实就相当于在windows中的相关操作&#xff0c;比如双击&#xff0c;新建文件夹等。 以下是相关基本指令基本用法 一.ls&#xff08;显示当前目录下的所有文件和目录&#xff09; 那如何显示当前目录&#xff08;我们所在的位置&…...

python 实现贪心算法(Greedy Algorithm)

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前最优的选择&#xff0c;希望通过局部最优解达到全局最优解的算法设计方法。以下是使用Python实现贪心算法解决几个经典问题的示例&#xff1a; 1. 活动选择问题&#xff08;Activity Selection…...

设计形成从业务特点到设计模式的关联

规范和指引在应用架构、数据架构等各架构方向上形成规范性约束指导。同一个决策要点、架构单元在统一的架构原则指导下&#xff0c;会因业务特点差异有不同的实现&#xff0c;经过总结形成了最佳实践。在开展新应用的设计时&#xff0c;根据决策要点以及相关的业务特点&#xf…...

Pytorch初学

创建虚拟环境 python控制台&#xff0c;jupyter notebook,python文件运行的差异&#xff0c;后续结合使用三者。 jupter主要可以对代码进行分割单独运行&#xff0c;主要做一些探索性工作。 数据集的常见存储模式 1、以标签命名图像。 2、单独存储图像的地址。 加载数据集…...

【动态重建】时间高斯分层的长体积视频

标题&#xff1a;Representing Long Volumetric Video with Temporal Gaussian Hierarchy 来源&#xff1a;浙江大学 链接&#xff1a;https://zju3dv.github.io/longvolcap/ 文章目录 摘要一、前言二、主要方法2.1 时间高斯分层2.2 高效渲染2.3 层次结构更新2.4 紧凑的外观模型…...

Java设计模式 —— 【行为型模式】命令模式(Command Pattern) 详解

文章目录 模式介绍优缺点适用场景结构案例实现注意事项 模式介绍 有时候需要向某些对象发送请求&#xff0c;但是并不知道请求的接收者是谁&#xff0c;也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序&#xff0c;使得请求发送者和请求接收者能够消除彼此…...

IOS开发如何从入门进阶到高级

针对iOS开发的学习&#xff0c;不同阶段应采取不同的学习方式&#xff0c;以实现高效提升.本文将iOS开发的学习分为入门、实战、进阶三个阶段&#xff0c;下面分别详细介绍. 一、学习社区 iOS开源中国社区 这个社区专注于iOS开发的开源项目分享与协作&#xff0c;汇集了大量开…...

数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)

将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入&#xff1a;nums [-10,-3,0,5,9…...

细说STM32F407单片机以轮询方式读写外部SRAM的方法

目录 一、实例的功能 二、工程配置 1、KEYLED 2、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 3、FSMC &#xff08;1&#xff09; 模式设置 &#xff08;2&#xff09; Bank 1子区3参数设置 1) NOR/PSRAM control组&#xff0c;子区控制参数 2) NOR/PSRAM timi…...

【Unity3D】AB包加密(AssetBundle加密)

加密前&#xff1a; 加密后&#xff0c;直接无法加载ab&#xff0c;所以无法正常看到ab内容。 using UnityEngine; using UnityEditor; using System.IO; public static class AssetBundleDemoTest {[MenuItem("Tools/打包!")]public static void Build(){//注意:St…...

wujie无界微前端框架初使用

先说一下项目需求&#xff1a;将单独的四套系统的登录操作统一放在一个入口页面进行登录&#xff0c;所有系统都使用的是vue3&#xff0c;&#xff08;不要问我为啥会这样设计&#xff0c;产品说的客户要求&#xff09; 1.主系统下载wujie 我全套都是vue3&#xff0c;所以直接…...

联发科MTK6771/MT6771安卓核心板规格参数介绍

MT6771&#xff0c;也被称为Helio P60&#xff0c;是联发科技(MediaTek)推出的一款中央处理器(CPU)芯片&#xff0c;可运行 android9.0 操作系统的 4G AI 安卓智能模块。MT6771芯片采用了12纳米工艺制造&#xff0c;拥有八个ARM Cortex-A73和Cortex-A53核心&#xff0c;主频分别…...

ZooKeeper Java API操作

&#xff08;1&#xff09;添加依赖&#xff0c;在pom.xml文件中添加zookeeper依赖&#xff1a; &#xff08;2&#xff09;连接zookeeper服务&#xff0c;创建cn.itcast.zookeeper包&#xff0c;在该包中创建ZooKeeperDemo类&#xff0c;该类用于实现创建会话和操作ZooKeeper&…...

【vue3封装element-plus的反馈组件el-drawer、el-dialog】

vue2中封装el-drawer、el-dialog这类反馈类子组件&#xff0c;需要将父组件的visible值传递子组件&#xff0c;并且再通过$emit将关闭弹窗的组件值传回父组件&#xff0c;同事子组件还需要监听父组件传递过来的visible的值&#xff0c;来驱动弹窗显示隐藏&#xff0c;很麻烦&am…...

doris:远程存储

功能简介​ 远程存储支持把部分数据放到外部存储&#xff08;例如对象存储&#xff0c;HDFS&#xff09;上&#xff0c;节省成本&#xff0c;不牺牲功能。 注意 远程存储的数据只有一个副本&#xff0c;数据可靠性依赖远程存储的数据可靠性&#xff0c;您需要保证远程存储有…...

win11 电脑重启后,需要重新插拔U盘、移动硬盘才能识别问题

win11 电脑重启后&#xff0c;需要重新插拔U盘、移动硬盘才能识别问题 前言 原因&#xff1a;win10在一个版本更新后&#xff0c;usb默认都开了自动停用 一、解决方式一 在设备管理里面找到那些需要插拔才能识别的usb设备&#xff0c;电源策略里关掉“允许计算机关闭这个设…...

望获实时Linux系统与大语言模型深度融合,开创实时智能无限可能!

大语言模型的崛起为智能化应用开辟了新的可能性。借助深度学习技术&#xff0c;这些模型能够理解和生成自然语言&#xff0c;处理复杂的文本和语义信息。这使得它们在诸如人机问答、内容生成和数据分析等领域展现出巨大的潜力。在实时控制领域&#xff0c;大语言模型能够显著提…...

【工业场景】用YOLOv8实现工业安全帽识别

工业安全帽识别是一项重要的工作安全管理措施&#xff0c;旨在防止工作场所发生头部伤害事故。通过使用YOLOv8等深度学习模型&#xff0c;可以实时准确地检测出工人是否佩戴安全帽&#xff0c;及时发现违规行为&#xff0c;为工人提供更安全的工作环境。 使用YOLOv8实现工业安全…...

137. 只出现一次的数字 II

137. 只出现一次的数字 II 题目-中等难度1. 位运算2. 位运算 题目-中等难度 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数…...

Transformer 和 Attention机制入门

1. 什么是 Transformer 背景&#xff1a; 在自然语言处理领域&#xff0c;早期常使用循环神经网络&#xff08;RNN&#xff09;及其变体&#xff08;如 LSTM、GRU&#xff09;来处理序列数据&#xff0c;如机器翻译、文本生成等任务。然而&#xff0c;RNN 结构存在以下问题&…...