Day39-2-Rsync企业级备份工具讲解

Day39-2-Rsync企业级备份工具讲解

  • 1. 什么是rsync?
  • 2. 什么是全量和增量?
  • 3. 为什么要用rsync?
  • 4. rsync功能特性
  • 5. 增量复制原理
  • 6. rsync三种工作模式介绍
    • 6.1 本地(local)
    • 6.2 远程Shell模式
      • 6.2.1 远程Shell模式企业场景和实践:
      • 6.2.2 企业工作中正常SSH优化
    • 6.3 rsync守护进程模式*****
      • 6.3.1 rsync守护进程模式应用实践
      • 6.3.2 rysnc 服务配置文件参数说明
      • 6.3.3 业务需求:搭建一个备份服务器
      • 6.3.4 在客户端服务器操作(任何一台机器),nfs01

rsync复制软件的应用与实践

1. 什么是rsync?

Rsync英文全称为Remote sync hronization,缩写rsync
是开源、高速的、可实现本地以及远程,全量以及增量的数据复制(拷贝)工具。
官方链接: http://www.samba.org/ftp/rsync/rsync.html(教学翻译功能)

2. 什么是全量和增量?

全量复制:傻傻的每次完整拷贝

[root@backup ~]# cp -a /etc/ /tmp/
[root@backup ~]# touch /etc/oldboy.txt
[root@backup ~]# \cp -a /etc/ /tmp/

增量复制:只拷贝变化的部分

[root@backup ~]# rsync -avz /etc /tmp/
sending incremental file list
etc/
etc/olgirl.txt  #只复制olgirl.txt

rsync首次全量,第二次就增量了。

3. 为什么要用rsync?

1)工作中需要定时/实时数据备份。
2)本地服务器目录、不同机器、
不同机房之间的数据备份。都可以用rsync完成。

生产案例:企业yum源和官方源之间数据传输就使用rsync

# 使用rsync同步Centos yum源
# rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /var/ftp/centos7/x86_64/repodata/os
# rsync -av rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/ /var/ftp/centos7/x86_64/repodata/extras/
# rsync -av rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ /var/ftp/centos7/x86_64/repodata/updates/#同步epel源
rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/centos/ /var/ftp/centos7/x86_64/repodata/epel/#远程复制测试:
rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/centos/ /var/ftp/centos7/x86_64/repodata/epel/
[root@oldboy yum.repos.d]# ls /var/ftp/centos7/x86_64/repodata/epel/ -a
.    4.1   5.3   6.6       8                           RPM-GPG-KEY-CentOS-Official
..   4.2   5.4   6.7       8-stream                    RPM-GPG-KEY-CentOS-Security-6
2    4.3   5.5   6.8       8.0.1905                    RPM-GPG-KEY-CentOS-Testing-6

4. rsync功能特性

  • 支持拷贝普通文件与特殊文件,如链接文件,设备文件等。
  • 支持排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
  • 可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变。
  • 可实现增量复制,既只复制发生变化的数据,因此数据传输效率很高。
  • 可以使用rcp,rsh,ssh等方式来配合进行隧道加密传输文件(rsync本身不对数据加密)。
  • 可以通过socket(进程方式)传输文件和数据(服务端和客户端)*。
  • 支持匿名或认证(无需系统用户)进程模式传输,安全的进行数据备份及镜像

5. 增量复制原理

使用quick check算法,只对增量的部分复制,根据大小属性的变化进行复制。
Rsync使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间已更改的文件。当快速检查表明不需要更新文件的数据时,其他保留属性的任何更改(根据选项的要求)都会直接在目标文件上进行。

#该算法查找大小或上次修改时间已更改的文件 *

2.x比对差异后复制,3.x一边比对一边复制。

其他:
链接: https://coolshell.cn/articles/7425.html

6. rsync三种工作模式介绍

Local:rsync [OPTION...] SRC... [DEST]Access via remote shell:Pull:rsync [OPTION...] [USER@]HOST:SRC... [DEST]Push:rsync [OPTION...] SRC... [USER@]HOST:DESTAccess via rsync daemon:Pull:rsync [OPTION...] [USER@]HOST::SRC... [DEST]rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]Push:rsync [OPTION...] SRC... [USER@]HOST::DESTrsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST)

6.1 本地(local)

rsync就是一个命令

rsync	   [OPTION...]	      SRC...	    [DEST]
rsync命令	参数选项	      [源目录或文件]	   目的目录或文件

命令操作:
rsync命令
a.把数据从一个地方复制到另一个地方(仅在一台机器增量),相当于cp。
b.通过加参数实现删除文件和清空文件内容的功能,相当于rm命令。
c.查看属性信息功能,相当于ls。

a.拷贝实践

#该算法查找大小或上次修改时间已更改的文件 *****
rsync -avz /etc /opt/
touch /etc/test.txt
rsync -avz /etc /opt/
echo 111 >/etc/test.txt 
rsync -avz /etc /opt/
chmod 777 /etc/test.txt 
rsync -avz /etc /opt/
chown -R oldboy.oldboy /etc/test.txt
rsync -avz /etc /opt/
vim /etc/test.txt 
rsync -avz /etc /opt/
vim /etc/test.txt 
rsync -avz /etc /opt/[root@backup ~]# ls /opt
[root@backup ~]# rsync /etc/hosts /opt
[root@backup ~]# ls /opt
hosts
[root@backup ~]# \cp /etc/hosts /opt

保持属性:

[root@backup ~]# rsync -vzrtopg /etc/hosts /opt/ #rtopg==a
[root@backup ~]# ls -lhi /etc/hosts /opt/hosts
16829878 -rw-r--r--. 1 root root 332 412 11:24 /etc/hosts71373 -rw-r--r--  1 root root 332 412 11:24 /opt/hosts

b.删除实践

删除文件内容:

[root@backup ~]# cp /etc/hosts /tmp/
[root@backup ~]# rsync -avz /null.txt /etc/host
host.conf    hostname     hosts        hosts.allow  hosts.deny   
[root@backup ~]# rsync -avz /null.txt /etc/host
host.conf    hostname     hosts        hosts.allow  hosts.deny   
[root@backup ~]# rsync -avz /null.txt /etc/hosts
sending incremental file list
null.txt
[root@backup ~]# cat /etc/hosts

恢复:

[root@backup ~]# \cp /tmp/hosts /etc/
[root@backup ~]# cat /etc/hosts

删除目录下所有文件:

[root@backup ~]# mkdir /null
[root@backup ~]# rsync -r --delete /null/ /opt/       #让后面opt和前面null目录内容保持一致
[root@backup ~]# ls /opt/

c.查看属性

[root@backup ~]# rsync /etc/hosts
-rw-r--r--            332 2019/04/12 11:24:41 hosts

注意事项:
拷贝的时候,永远要注意目标目录和文件,防止被清空。

6.2 远程Shell模式

借助类似ssh隧道传输数据,适合不同的机器之间复制。
异地拷贝,相当于scp,区别scp是远程全量拷贝)

企业场景:
1.重要的数据,需要加密;
2.没有搭建服务端

拉门、推门 思考:
pull,拉:从远端拉取到本地。

语法:

rsync	    [OPTION...]	[USER@]HOST:SRC...	             [DEST]
rsync命令	参数选项	[认证用户]@[主机地址]:[源路径]	 本地路径

语法:

push,推:从本地推到远端。
rsync	    [OPTION...]   SRC... 	 [USER@]HOST:[DEST]        
rsync命令	参数选项	本地路径 [认证用户]@[主机地址]:[目标路径]

push实践:
没用隧道:

rsync -avz /etc/hosts root@172.16.1.31:/opt/ #加密传输,限制root。
rsync -avz /etc/hosts oldboy@172.16.1.31:/tmp/ #加密传输,限制root。

使用隧道;

rsync -avz /etc/hosts -e "ssh -p 22" root@172.16.1.31:/opt/
rsync -avz /etc -e "ssh -p 22" oldboy@172.16.1.31:/tmp/
#上述命令是等价的。-e 指定通道  ssh ssh服务连接客户端  -p 22指定22端口。

拉的命令:

rsync -avz root@172.16.1.41:/opt/hosts /opt
rsync -avz -e "ssh -p 22" root@172.16.1.41:/opt/hosts /opt

拉的实践:
没用隧道:

rsync -avz  root@172.16.1.31:/opt/ /tmp #加密传输,限制root。
rsync -avz  oldboy@172.16.1.31:/tmp/  /tmp #加密传输,限制root。

使用隧道:

rsync -avz -e "ssh -p 22" root@172.16.1.31:/opt/ /tmp
rsync -avz -e "ssh -p 22" oldboy@172.16.1.31:/tmp/ /tmp
#上述命令是等价的。-e 指定通道  ssh ssh服务连接客户端  -p 22指定22端口。

推拉:
a.参照物,你执行命令的机器
b.root@172.16.1.31 连接的用户和主机,使用连接的主机和用户的密码。

6.2.1 远程Shell模式企业场景和实践:

1)配合SSH+免秘钥连接登录(单向从私钥到公钥),进行备份文件传输工作。
两台机器连接不需要密码了,rsync拷贝的时候自然随意拷贝了。

实践:nfs01作为主机操作
1.生成秘钥对

ssh-keygen  #一路回车

2.把公钥拷贝到41服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.41
1)放到41的~/.ssh/下。
2)公钥被改名为authorized_keys 
3)authorized_keys 权限为600,~/.ssh/权限700

为什么改名为authorized_keys?

[root@backup ~]# grep authorized_keys /etc/ssh/sshd_config
AuthorizedKeysFile	.ssh/authorized_keys

4.从31连接41,无需密码即可登录

[root@nfs01 ~]# ssh 10.0.0.41 #ssh类似xshell。
Last login: Mon Jun 28 11:47:41 2021
[root@backup ~]# 

5.测试

# 不加密拉取
rsync -avz root@172.16.1.41:/opt/ /tmp #加密传输,限制root。
# 加密推送
rsync -avz /etc -e "ssh -p 22" root@172.16.1.41:/opt/

实现了免密码数据传输。企业中利用定时任务等实现定时推送,或者
使用实时复制工具sersync实现,数据的实时复制。

强调一个重点:适合rsync
null和null/区别,null是目录和目录下的内容,
null/只是目录下的内容,不含本身。

下面方法不可用,所以,此命令只能手工输入密码了(expect工具帮你交互输入密码)

[root@backup ~]# echo 123456 >/etc/rsync_shell.password
[root@backup ~]# chmod 600 /etc/rsync_shell.password
rsync -avz /etc -e "ssh -p 22" oldboy@172.16.1.31:/tmp/ --password-file=/etc/rsync_shell.password

特殊提醒:

6.2.2 企业工作中正常SSH优化

####by oldboy#2011-11-24##
Port 52113
ListenAddress 172.16.1.7:52113
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
####by oldboy#2011-11-24##
0.0.0.0:22 表示sshd服务监听任意网卡,监听所有IP请求。#期中架构中修改:
vim /etc/ssh/sshd_config
####by oldboy#2011-11-24##
PermitRootLogin yes
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
####by oldboy#2011-11-24##
[root@backup ~]# sed -i.bak 's#PermitRootLogin no#\# PermitRootLogin yes#g' /etc/ssh/sshd_config
[root@backup ~]# grep RootLo /etc/ssh/sshd_config
# PermitRootLogin yes

企业常用参数组合:-avz或者-vzrtopg

6.3 rsync守护进程模式*****

首先要搭建rsync服务端(要有守护进程),然后才能在客户端实现推拉数据。
企业运维的重要模式,重点讲。
客户端语法暂时不讲。
rsync服务模式:*****开启后台进程,接受别人访问。

6.3.1 rsync守护进程模式应用实践

1)安装(不需要安装)

[root@backup ~]# rsync --version
rsync  version 3.1.2  protocol version 31
[root@backup ~]# yum install rsync(不需要)

2)配置配置文件【/etc/rsyncd.conf】
备份

cp /etc/rsyncd.conf{,.ori}
cat>/etc/rsyncd.conf<<EOF
#rsync_config_______________start      注释
#created by oldboy                     注释
#site: http://www.oldboyedu.com        注释
uid = rsync                 #用户,rsync访问本地数据目录的一个用户
gid = rsync                 #用户组
use chroot = no             #安全选项,防止出现漏洞
max connections = 200       #并发最大连接数
timeout = 600               #进程超时时间
pid file = /var/run/rsyncd.pid     #进程ID号
lock file = /var/run/rsync.lock    #锁文件
log file = /var/log/rsyncd.log     #
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = welcome to oldboyedu backup!
path = /backup/
EOF

6.3.2 rysnc 服务配置文件参数说明

rsyncd.conf 参数参数说明
uid = rsyncrsync 服务用户。默认为 nobody,这里用 rsync 虚拟用户,管理备份目录
gid = rsyncrsync 服务用户组。默认为 nobody,这里用管理备份目录
fake super= yes允许进程不以 root 身份运行,就可以改变文件属性(C7 环境加此参数)。
use chroot = no如果为 true, daemon 会在给客户端传输文件前"chroot to the path"。这是 rsync 安全的一个配置,因为我们大多数都是在内网使用 rsync,所以不配也可以
max connections =200设置最大连接数.默认为 0,意为无限制.负值为关闭这个模块
timeout = 400默认为 0,意 no timeout,建议为 300-600(5-10 分钟)
pid file = /var/run/rsyncd.pidrsync daemon 启动后将其进程 PID 写入此文件。如果这个文件已经存在,rsync进程不会覆盖该文件,而是会终止
lock file =/var/run/rsyncd.lock指定 lock 文件用来支持"max connections"参数,使得总连接数不会超过限制,默认为/var/run/rsyncd.lock
log file = /var/log/rsyncd.log不设或者设置错误,rsync 会使用 syslog 输出相关日志信息
ignore errors忽略 I/0 错误
read only = false指定客户端是否可以上传文件,默认对所有模块都为 true 即表示可写
list = false是否允许客户端可以查看可用模块列表.默认为可以如果配置为 yes 或 true执行 rsync 172.16.1.41::命令都会显示配置的模块信息
hosts allow = 172.16.1.0/24指定可以联系的客户端主机名或和ip地址或地址段,默认情况没有此参数即都可以连接。表示配置白名单参数。
hosts deny =0.0.0.0/32指定不可以联系的客户端主机名或和ip地址或地址段,默认情况没有此参数,即都可以连接。表示配置黑名单参数
auth users = rsync backup指定以空格或逗号分隔的用户可以使用哪些模块.用户不需要在本地系统中存在.默认所有用户无密码的访问(anonymous rsync)
secrets file = /etc/rsync.password指定用户名和密码存放的文件,格式为,用户名:密码
[backup]这里就是模块名称,需用中括号扩起来,起名称没有特殊要求,但最好是有意义的名称,便于以后维护
path = /backup在这个模块中,daemon 使用的文件系统或目录,目录的权限要注意和配置文件中的权限一致,否则会遇到读写的问题
#exclude = a c b/2排除的文件或目录,相对路径
[oldboy]除了 backup 模块外,还可以添加模块,例如 oldboy
path = /oldboyoldboy 模块对应的备份路径

#配置文件查帮助
man rsyncd.conf 查配置参数
https://www.samba.org/ftp/rsync/rsync.html

6.3.3 业务需求:搭建一个备份服务器

3)备份的地点 /backup

mkdir /backup -p

4)创建一个用户

[root@backup ~]# useradd -s /sbin/nologin -M rsync
[root@backup ~]# id rsync
uid=1003(rsync) gid=1003(rsync)=1003(rsync)

5)授权rsync管理backup目录

chown -R rsync.rsync /backup
[root@backup ~]# 
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 6 628 16:58 /backup/

6)创建密码文件并设置权限

# 格式:用户:密码
rsync_backup:oldboy123
echo "rsync_backup:oldboy123" >/etc/rsync.password 
#文件名随意起,但是要和rsyncd.conf secrets file = /etc/rsync.password一致。[root@backup ~]# echo "rsync_backup:oldboy123" >/etc/rsync.password #文件名随意起
[root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy123# 设定权限:
chmod 600 /etc/rsync.password 
ls -l /etc/rsync.password

7)启动rsync服务和检查

rsync --daemon(c6及以前)#本次不执行,用下面的C7的命令
systemctl start rsyncd
systemctl enable rsyncd
systemctl status rsyncd[root@backup ~]# ps -ef|grep sync|grep -v grep  #检查进程
root       7521      1  0 11:39 ?        00:00:00 /usr/bin/rsync --daemon --no-detach[root@backup ~]# netstat -lntup|grep rsync #检查端口
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      7521/rsync          
tcp6       0      0 :::873                  :::*                    LISTEN      7521/rsync [root@backup ~]# lsof -i :873 #检查端口
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsync   7521 root    3u  IPv4  41439      0t0  TCP *:rsync (LISTEN)
rsync   7521 root    5u  IPv6  41440      0t0  TCP *:rsync (LISTEN)
# 面试题:如何查看某端口对应什么服务?答案就是上面两个。

rsync服务端配置完成。

6.3.4 在客户端服务器操作(任何一台机器),nfs01

1.配置认证密码文件并授权
以下方法2选1
方法1:认证密码文件

[root@nfs01 ~]# echo "oldboy123" >/etc/rsync.password #只有密码,没有用户,密码和服务的配置相同。
[root@nfs01 ~]# chmod 600 /etc/rsync.password
[root@nfs01 ~]# cat /etc/rsync.password
oldboy123
[root@nfs01 ~]# ls -l /etc/rsync.password
-rw------- 1 root root 7 415 11:55 /etc/rsync.password

方法2:

[root@nfs01 ~]# echo ' export RSYNC_PASSWORD=oldboy123' >>/etc/bashrc 
[root@nfs01 ~]# tail -1 /etc/bashrc export RSYNC_PASSWORD=oldboy
[root@nfs01 ~]# . /etc/bashrc 
[root@nfs01 ~]# echo $RSYNC_PASSWORD
oldboy123

2.测试完成结果
1)守护进程模式,客户端rsync的命令语法:
配置服务器端守护进程,实现数据传输:

1、服务器端守护进程。2、客户端执行命令。
拉门、推门 思考:pull,拉:从远端拉取到本地。
语法1(常用):
rsync	    [OPTION...]	[USER@]HOST::SRC...	                 [DEST]
rsync命令	参数选项	[虚拟用户]@[主机地址]::[模块名]	     本地路径语法2:
rsync	    [OPTION...]	rsync://[USER@]HOST::SRC...	              [DEST]
rsync命令	参数选项	rsync://[虚拟用户]@[主机地址]/[模块名]	 本地路径push,推:从本地推到远端。
语法1(常用):                 
rsync	    [OPTION...]	  [DEST]        [USER@]HOST::SRC...	                 
rsync命令	参数选项	  本地路径      [虚拟用户]@[主机地址]::[模块名]	     语法2:                    
rsync	    [OPTION...]	   [DEST]		rsync://[USER@]HOST::SRC...	             
rsync命令	参数选项	  本地路径		rsync://[虚拟用户]@[主机地址]/[模块名]	 

2)拉取实践
方法1:

mkdir /data
rsync -avz rsync_backup@172.16.1.41::backup /data --password-file=/etc/rsync.password[root@nfs01 ~]# rsync -avz rsync_backup@172.16.1.41::backup /data --password-file=/etc/rsync.password
receiving incremental file list
./
oldboy1/
oldboy2/
oldboy3/sent 39 bytes  received 140 bytes  358.00 bytes/sec
total size is 0  speedup is 0.00
[root@nfs01 ~]# ls /data
oldboy1  oldboy2  oldboy3

成功拉回。

方法2:不常用

[root@nfs01 ~]# rsync -avz rsync://rsync_backup@172.16.1.41/backup /data --password-file=/etc/rsync.password

3)推送实践
方法1:

rsync -avz  /data  rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

方法2:

rsync -avz  /data  rsync://rsync_backup@172.16.1.41/backup --password-file=/etc/rsync.password

在这里插入图片描述

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

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

相关文章

【STL】stack栈容器与list链表容器

1.栈stack 栈具有先进后出的特性&#xff0c;最先进入的数据压在最底下&#xff0c;最后出来 2.list链表容器 list链表容器是一种双向链表&#xff0c;两端都可插入与删除&#xff0c;是双向访问迭代器&#xff0c;与vertor随机访问迭代器有不同的区别 reverse&#xff08;&…

WPF实时时间显示demo(MVVM)

跟着b站的视频学习做一个界面,它里面的时间不能实时刷新,因此自己研究写一个,同时加深一下自己对MVVM的理解. 运行结果: 实现步骤: 1.界面 界面设计就是放置了一个TextBlock,它的text绑定了ViewModel层里面的公告属性CurrentTime. <Grid><TextBlock Text"{Bindi…

Copilot如何将word文稿一键转为PPT

背景 很多小伙伴平时经常会遇到的一个场景是&#xff0c;如何将word文稿图文转为PPT。 这个过程是既复杂而又无趣的。 现在&#xff0c;有了copilot&#xff0c;你可以一键搞定&#xff01; 使用copilot Pro来实现 比如我们想要做一个关于copilot studio的PPT展示&#xf…

【机器人控制 Robot Control】非线性控制(Non-linear Control)建模举例【新加坡南洋理工大学 NTU Singapore】

Non-linear Control Method Example: Non-linear Mechanical System Modelling of the System using Control Law Partitioning (Handwritten)

目标检测C-RNN,Fast C-RNN,Faster C-RNN,SSD,Mask R-CNN 理论简单介绍

参考&#xff1a; https://zh-v2.d2l.ai/chapter_computer-vision/multiscale-object-detection.html R-CNN 及系列 区域卷积神经网络 region-based CNN R-CNN R-CNN首先从输入图像中选取若干&#xff08;例如2000个&#xff09;提议区域&#xff0c;并标注它们的类别和边界…

【Leetcode每日一题】 位运算 - 丢失的数字(难度⭐)(34)

1. 题目解析 题目链接&#xff1a;268. 丢失的数字 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 首先&#xff0c;我们设定一个长度为n的数组。理想情况下&#xff0c;如果这个数组是从0到n-1的连续整数序列&#…

Era Network在web3行业的价值

近年来,以比特币和以太坊为代表的区块链技术快速发展,去中心化、信任机制的创新概念也越来越受到广泛关注。AI人工智能与区块链技术在互联网应用领域的落地,正在引领互联网进入价值互联的新阶段web3.0时代&#xff01; 新行业发展的价值与优先级 WEB3行业发展的核心需求是&…

基于SSM的协同过滤算法的电影推荐系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的协同过滤算法的电影推荐系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通…

利用“定时执行专家”软件的25种任务与12种触发器,提升IT系统管理自动化水平

在IT系统管理中&#xff0c;自动化是提高工作效率、减少人为错误的关键。而《定时执行专家》这款软件&#xff0c;以其强大的功能、易用性和毫秒级的执行精度&#xff0c;成为了IT系统管理员的得力助手。今天&#xff0c;我们就来探讨一下如何利用这款软件的25种任务类型和12种…

cesiumlab中shp转3dtiles白模效果一

安装cesiumlab 如果没有安装cesiumlab&#xff0c;去官网下载安装一个即可 http://www.cesiumlab.com/cesiumlab.html 效果 步骤 1、准备shp面数据 2、打开cesiumlab软件转换 选择shp面数据 设置高度&#xff0c;如果shp面中有高度字段&#xff0c;可以用高度字段&#xff…

Stream-JDK8

Stream概念 代码示例 package com.zz.stream;import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors;/*** 使用Stream流* 找出姓张并且是三个字的名字*/ public class Test {public static void main(Stri…

sqllab第二关通关笔记

知识点整理&#xff1a; 数值型注入判断手法 1/1 1/0 回显不同错误注入函数 extractvalue(xml_flag,xpath) xml_flag&#xff1a;文件表示符xpath&#xff1a;文件路径&#xff1b;不能识别‘~’ ‘#’ 等特殊字符&#xff1b;遇到就报错并打印xpath内容~(十六进制表示)&#…