Linux巡检利器xsos的安装和使用

一、

一般项目基本完成的时候,后期运维工作的重点就是及时的,合理的频率巡检了,巡检的目的主要是及时发现各种各样的问题

那么,自己编写shell脚本是大部分人的第一选择,这里有个比较麻烦的地方,shell脚本可能巡检的指标不够全面,以及shell脚本难以编写的问题

🆗,这里我推荐大家使用xsos这个软件来简化巡检的工作,很多巡检工作可以使用此工具代替了

二、

xsos的下载地址

https://codeload.github.com/ryran/xsos/tar.gz/refs/tags/v0.7.33

下载完毕后,解压,将xsos这个可执行文件移动到/usr/local/bin/目录下并赋予执行权限即可使用,此软件无需任何依赖,无需任何动态链接库,可以直接使用,非常nice的,主要因为它是其实是一个写的非常长的shell脚本!!!!!!!!!!!!!!!!(有4000多行)

[root@centos7 xsos-0.7.33]# ldd /usr/local/bin/xsos 
	not a dynamic executable
[root@centos7 xsos-0.7.33]# file /usr/local/bin/xsos 
/usr/local/bin/xsos: Bourne-Again shell script, UTF-8 Unicode text executable, with very long lines

 

三、

此软件下载只能在github,其它地方没有发现,需要指出的是,此软件和sosreport这个软件比较类似,是可以基于sosreport命令运行所产生的文件来工作的,当然,xsos单独也是可以工作的

单独运行此软件:

1、获取系统的信息和内存信息

xsos --os --mem

输出如下:

OS
  Hostname: centos7
  Distro:   [redhat-release] CentOS Linux release 7.7.1908 (Core)
            [centos-release] CentOS Linux release 7.7.1908 (Core)
            [os-release] CentOS Linux 7 (Core) 7 (Core)
  RHN:      (missing)
  RHSM:     (missing)
  YUM:      2 enabled plugins: fastestmirror, langpacks
  Runlevel: N 3  (default multi-user)
  SELinux:  disabled  (default disabled)
  Arch:     mach=x86_64  cpu=x86_64  platform=x86_64
  Kernel:
    Booted kernel:  3.10.0-1062.el7.x86_64
    GRUB default:   3.10.0-1062.el7.x86_64  
    Build version:
      Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
    Booted kernel cmdline:
      root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8
    GRUB default kernel cmdline:  
      root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8
    Taint-check: 0  (kernel untainted)
    - - - - - - - - - - - - - - - - - - -
  Sys time:  Thu Oct 24 22:28:00 CST 2024
  Boot time: Thu Oct 24 16:22:10 CST 2024  (epoch: 1729758130)
  Time Zone: Asia/Shanghai
  Uptime:    6:05,  2 users
  LoadAvg:   [4 CPU] 0.07 (2%), 0.07 (2%), 0.06 (2%)
  /proc/stat:
    procs_running: 1   procs_blocked: 0    processes [Since boot]: 19286
    cpu [Utilization since boot]:
      us 0%, ni 0%, sys 0%, idle 100%, iowait 0%, irq 0%, sftirq 0%, steal 0%

MEMORY
  Stats graphed as percent of MemTotal:
    MemUsed    ▊▊▊▊▊▊▊▊▊.........................................  17.3%
    Buffers    ..................................................   0.2%
    Cached     ▊▊▊▊▊.............................................  10.7%
    HugePages  ..................................................   0.0%
    Dirty      ..................................................   0.0%
  RAM:
    3.9 GiB total ram
    0.7 GiB (17%) used
    0.2 GiB (6%) used excluding Buffers/Cached
    0 GiB (0%) dirty
  HugePages:
    No ram pre-allocated to HugePages
  THP:
    0.01 GiB allocated to THP 
  LowMem/Slab/PageTables/Shmem:
    0.11 GiB (3%) of total ram used for Slab
    0 GiB (0%) of total ram used for PageTables
    0.01 GiB (0%) of total ram used for Shmem
  Swap:
    No system swap space configured

2、

获取系统的cpu,主板以及网络相关信息

xsos --cpu --lspci --net

输出如下:

[root@centos7 xsos-0.7.33]# xsos --cpu --lspci --net
CPU
  4 logical processors (4 CPU cores)
  2 13th Gen Intel Core i7-13700KF (flags: aes,constant_tsc,ht,lm,nx,pae,rdrand,vmx) 
  └─2 threads / 2 cores each

LSPCI
  Net:
    (1) Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
  Storage:
    (1) VMware SATA AHCI controller
  VGA:
    VMware SVGA II Adapter

ETHTOOL
  Interface Status:
    ens33  0000:02:01.0  link=up  rx ring 32/512  drv pcnet32 v1.35 / fw UNKNOWN
  Interface Errors:
    [None]

SOFTIRQ
  Backlog max is sufficient (Current value: net.core.netdev_max_backlog = 1000)
  Budget is not sufficient, consider reviewing budget tunable. (Current value: net.core.netdev_budget = 300)
  (see https://access.redhat.com/solutions/1241943)

NETDEV
  Interface  RxMiBytes  RxPackets  RxErrs   RxDrop  RxFifo  RxComp  RxFrame  RxMultCast
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      11         11 k       11 (0%)  6 (0%)  0       0       0        0 
  - - - - - - - - - - - - - - - - -
  Interface  TxMiBytes  TxPackets  TxErrs   TxDrop  TxFifo  TxComp  TxColls  TxCarrier 
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      1          5 k        0        0       0       0       0        0 

SOCKSTAT
  sockets: used 189
  TCP: inuse 4 orphan 0 tw 0 alloc 6 mem 5
  UDP: inuse 0 mem 0
  UDPLITE: inuse 0
  RAW: inuse 0
  FRAG: inuse 0 memory 0

IP4
  Interface  Master IF  MAC Address        MTU     State  IPv4 Address
  =========  =========  =================  ======  =====  ==================
  lo         -          -                  65536   up     127.0.0.1/8
  ens33      -          00:0c:29:90:91:4e  1500    up     192.168.123.17/24

SS CHECK
  Sessions:
    lost reord_seen back_log retrans_total rq tq sock_drop app_limited dsack_dups %CPU %MEM Proto User Local Command Peer 
    ---- ---------- -------- ------------- -- -- --------- ----------- ---------- ---- ----- ---- ----- ---- ---- ------- 
                                                                                                                          
FIREWALL
  Services enabled:
    No firewall services enabled.

  Rules loaded:
    No rules loaded.
IFCFG
  Services enabled:
    FILE         TYPE      DEVICE  NAME      HWADDR  ONBOOT  DEFROUTE  GATEWAY        NM_CONTROLLED  BOND/TEAM  MASTER  BRIDGE  ETHTOOL  PHYSDEV  PEERDNS  ZONE  MTU
    ifcfg-ens33  Ethernet  ens33   ens33     -       yes     yes       192.168.123.2  -              -          -       -       -        -        -        -     -    
    ifcfg-lo     -         lo      loopback  -       yes     -         -              -              -          -       -       -        -        -        -     -    
NET STATS
  Tcp.EstabResets:                            2
  TcpExt.DelayedACKs:                        40
  TcpExt.TCPLossProbeRecovery:                3
  TcpExt.TCPLossProbes:                       3
  TcpExt.TCPLossUndo:                         1
  TcpExt.TCPTimeouts:                         1

3、

常用方式

Content options:
 -a, --all      show everything
 -b, --bios     show info from dmidecode
 -o, --os       show hostname, distro, SELinux, kernel info, uptime, etc
 -k, --kdump    inspect kdump configuration
 -c, --cpu      show info from /proc/cpuinfo
 -m, --mem      show info from /proc/meminfo
 -d, --disks    show info from /proc/partitions + dm-multipath synopsis
 -t, --mpath    show info from dm-multipath
 -l, --lspci    show info from lspci
 -e, --ethtool  show info from ethtool
 -r, --softirq  show info from /proc/net/softnet_stat
 -n, --netdev   show info from /proc/net/dev
 -g, --bonding  show info from /proc/net/bonding
 -i, --ip       show info from ip addr (BASH v4+ required)
     --net      alias for: --lspci --ethtool --softirq --netdev --bonding --ip
 -s, --sysctl   show important kernel sysctls
 -p, --ps       inspect running processes via ps

Display options:
     --scrub-ip     remove IP addresses & hostnames from output
     --scrub-mac    remove HW MAC addresses from output
                    see XSOS_SCRUB_IP_HN & XSOS_SCRUB_MACADDR env vars
 -6, --ipv6         parse ip addr output for IPv6 addresses instead of IPv4
 -q, --wwid=ID      restrict dm-multipath output to a particular mpath device,
                    where ID is a wwid, friendly name, or LUN identifier
 -u, --unit=P       change byte display for /proc/meminfo & /proc/net/dev,
                    where P is "b" for byte, or else "k", "m", "g", or "t"
 -v, --verbose=NUM  specify ps verbosity level (0-4, default: 1)
 -w, --width=NUM    change fold-width, in columns (positive number, e.g., 80)
                    "0" disables wrapping, "w" autodetects width (default)
 -x, --nocolor      disable output colorization
 -y, --less         send output to `less -SR`
 -z, --more         send output to `more`

Special options (BASH v4+ required):
 --B=FILE  read from FILE containing `dmidecode` dump
 --C=FILE  read from FILE containing /proc/cpuinfo dump
 --M=FILE  read from FILE containing /proc/meminfo dump
 --D=FILE  read from FILE containing /proc/partitions dump
 --T=FILE  read from FILE containing `multipath -v4 -ll` dump
 --L=FILE  read from FILE containing `lspci` dump
 --R=FILE  read from FILE containing /proc/net/softnet_stat dump
 --N=FILE  read from FILE containing /proc/net/dev dump
 --G=FILE  read from FILE containing /proc/net/bonding/xxx dump
 --I=FILE  read from FILE containing `ip addr` dump
 --P=FILE  read from FILE containing `ps aux` dump

例如,简单的查看网络流量情况:

[root@centos7 xsos-0.7.33]# xsos -n
NETDEV
  Interface  RxMiBytes  RxPackets  RxErrs   RxDrop  RxFifo  RxComp  RxFrame  RxMultCast
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      11         11 k       11 (0%)  6 (0%)  0       0       0        0 
  - - - - - - - - - - - - - - - - -
  Interface  TxMiBytes  TxPackets  TxErrs   TxDrop  TxFifo  TxComp  TxColls  TxCarrier 
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      1          5 k        0        0       0       0       0        0 

SOCKSTAT
  sockets: used 189
  TCP: inuse 4 orphan 0 tw 0 alloc 6 mem 4
  UDP: inuse 0 mem 0
  UDPLITE: inuse 0
  RAW: inuse 0
  FRAG: inuse 0 memory 0

简单的查看biso信息:

[root@centos7 xsos-0.7.33]# xsos -b
DMIDECODE
  BIOS:
    Vend: Phoenix Technologies LTD
    Vers: 6.00
    Date: 11/12/2020
    BIOS Rev: 4.6
    FW Rev:   0.0
  System:
    Mfr:  VMware, Inc.
    Prod: VMware Virtual Platform
    Vers: None
    Ser:  VMware-56 4d ea a7 9a 71 34 2d-80 fa b4 13 75 90 91 4e
    UUID: a7ea4d56-719a-2d34-80fa-b4137590914e
  CPU:
    4 of 4 CPU sockets populated, 2 cores/0 threads per CPU
    8 total cores, 0 total threads
    Mfr:  GenuineIntel
    Fam:  Unknown
    Freq: 3433 MHz
    Vers: 13th Gen Intel(R) Core(TM) i7-13700KF
  Memory:
    Total: 4096 MiB (4 GiB)
    DIMMs: 1 of 192 populated
    MaxCapacity: 5120 MiB (5 GiB / 0.00 TiB)

xsos --bios --ip --lspci --ethtool --net --ps 此命令等于xsos -bilenp

xsos  --disks --mem --unit=m

输出如下:

[root@centos7 xsos-0.7.33]# xsos  --disks --mem --unit=m
MEMORY
  Stats graphed as percent of MemTotal:
    MemUsed    ▊▊▊▊▊▊▊▊▊.........................................  17.3%
    Buffers    ..................................................   0.2%
    Cached     ▊▊▊▊▊.............................................  10.8%
    HugePages  ..................................................   0.0%
    Dirty      ..................................................   0.0%
  RAM:
    3950 MiB total ram
    682 MiB (17.3%) used
    248 MiB (6.3%) used excluding Buffers/Cached
    0 MiB (0%) dirty
  HugePages:
    No ram pre-allocated to HugePages
  THP:
    6 MiB allocated to THP 
  LowMem/Slab/PageTables/Shmem:
    112 MiB (2.8%) of total ram used for Slab
    4 MiB (0.1%) of total ram used for PageTables
    9 MiB (0.2%) of total ram used for Shmem
  Swap:
    No system swap space configured

STORAGE
  Whole Disks from /proc/partitions:
    1 disks, totaling 100 GiB (0.10 TiB)
    - - - - - - - - - - - - - - - - - - - - -
    Disk 	Size in GiB
    ----	-----------
    sda 	100

  Disk layout from lsblk:
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0  100G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   80G  0 part 
      └─centos-root 253:0    0   80G  0 lvm  /
    sr0              11:0    1  4.4G  0 rom  /mnt

  Filesystem usage from df:
    Filesystem              1K-blocks    Used Available Use% Mounted on
    /dev/mapper/centos-root  83845120 1666404  82178716   2% /
    /dev/sr0                  4554702 4554702         0 100% /mnt
    /dev/sda1                 1038336  139156    899180  14% /boot

查看网络详情:

 xsos --net --unit k
LSPCI
  Net:
    (1) Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
  Storage:
    (1) VMware SATA AHCI controller
  VGA:
    VMware SVGA II Adapter

ETHTOOL
  Interface Status:
    ens33  0000:02:01.0  link=up  rx ring 32/512  drv pcnet32 v1.35 / fw UNKNOWN
  Interface Errors:
    [None]

SOFTIRQ
  Backlog max is sufficient (Current value: net.core.netdev_max_backlog = 1000)
  Budget is not sufficient, consider reviewing budget tunable. (Current value: net.core.netdev_budget = 300)
  (see https://access.redhat.com/solutions/1241943)

NETDEV
  Interface  RxKiBytes  RxPackets  RxErrs   RxDrop  RxFifo  RxComp  RxFrame  RxMultCast
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      11788      11296      11 (0%)  6 (0%)  0       0       0        0 
  - - - - - - - - - - - - - - - - -
  Interface  TxKiBytes  TxPackets  TxErrs   TxDrop  TxFifo  TxComp  TxColls  TxCarrier 
  =========  =========  =========  ======   ======  ======  ======  =======  ==========
  ens33      801        5720       0        0       0       0       0        0 

SOCKSTAT
  sockets: used 189
  TCP: inuse 4 orphan 0 tw 0 alloc 6 mem 3
  UDP: inuse 0 mem 0
  UDPLITE: inuse 0
  RAW: inuse 0
  FRAG: inuse 0 memory 0

IP4
  Interface  Master IF  MAC Address        MTU     State  IPv4 Address
  =========  =========  =================  ======  =====  ==================
  lo         -          -                  65536   up     127.0.0.1/8
  ens33      -          00:0c:29:90:91:4e  1500    up     192.168.123.17/24

SS CHECK
  Sessions:
    lost reord_seen back_log retrans_total rq tq sock_drop app_limited dsack_dups %CPU %MEM Proto User Local Command Peer 
    ---- ---------- -------- ------------- -- -- --------- ----------- ---------- ---- ----- ---- ----- ---- ---- ------- 
                                                                                                                          
FIREWALL
  Services enabled:
    No firewall services enabled.

  Rules loaded:
    No rules loaded.
IFCFG
  Services enabled:
    FILE         TYPE      DEVICE  NAME      HWADDR  ONBOOT  DEFROUTE  GATEWAY        NM_CONTROLLED  BOND/TEAM  MASTER  BRIDGE  ETHTOOL  PHYSDEV  PEERDNS  ZONE  MTU
    ifcfg-ens33  Ethernet  ens33   ens33     -       yes     yes       192.168.123.2  -              -          -       -       -        -        -        -     -    
    ifcfg-lo     -         lo      loopback  -       yes     -         -              -              -          -       -       -        -        -        -     -    
NET STATS
  Tcp.EstabResets:                            2
  TcpExt.DelayedACKs:                        53
  TcpExt.TCPLossProbeRecovery:                3
  TcpExt.TCPLossProbes:                       3
  TcpExt.TCPLossUndo:                         1
  TcpExt.TCPTimeouts:                         1

总之,以上参数可以自由搭配组合得出自己喜欢的一个输出内容,从而得到一个自己所期望的巡检结果

该工具还是非常非常nice的哦~~~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow(259->261)--反序列化漏洞--原生类与更多魔术方法

Web259 进入界面,回显如下: highlight_file(__FILE__);$vip unserialize($_GET[vip]); //vip can get flag one key $vip->getFlag();题干里还提示了网站有一个flag.php界面,源代码如下: $xff explode(,, $_SERVER[HTTP_X…

开源限流组件分析(三):golang-time/rate

文章目录 本系列前言提供获取令牌的API数据结构基础方法tokensFromDurationdurationFromTokensadvance 获取令牌方法reverseN其他系列API 令人费解的CancelAt是bug吗 取消后无法唤醒其他请求 本系列 开源限流组件分析(一):juju/ratelimit开源…

Apache Paimon Catalog

Paimon Catalog可以持久化元数据,当前支持两种类型的metastore: 文件系统(默认):将元数据和表文件存储在文件系统中。hive:在 hive metastore中存储元数据。用户可以直接从 Hive 访问表。 2.2.1 文件系统…

分布式IO模拟量模块:多领域应用的高效能解决方案

分布式IO模拟量模块是分布式IO系统中的重要组件,用于实现现场设备或过程的模拟量信号的采集、监视和控制。该模块通常与现场总线耦合器配合使用,能够接收来自现场设备的模拟量信号(如电流、电压等),并将其转换为数字信…

STM32-Cube定时器TIM

一、内部时钟源 1、创建项目 File → New → STM32 project选择STM32F103C8T6单片机,命名TIM 2、配置单片机 1.打开USART1,方便我们与电脑连接查看数据 开启UART1并开启中断。 2、设置时钟源 开启外部高速晶振 将时钟频率设置为72MHz 设置调试模…

利用飞腾派进行OpenCV开发

实验目标: 完成飞腾平台OpenCV开发。 实验大纲: Mat数据结构加载、显示、保存图像读写像素RGB图像分离彩色图转灰度图 Mat数据结构 Mat是一个类,由两个数据部分组成:矩阵头(大小,通道,数据类型等)和数据块(像素 值)。创建示例…

uniapp uview 上传图片,数据以formData + File 形式传输

期望 后端期望前端给的传参为 formData 形式, 同时文件的数据类型为File 形式. 解决过程 将文件处理为 File 格式 uview 中的 upload 组件点击上传之后不是标准的 File 形式,点击上传单个文件之后的控制台信息如下: [{"url": "blob:http://localhost:8081/…

华为云实战杂记

配置nginx服务器 首先我们拿到一台服务器时,并不知道系统是否存在Nginx我们可以在Linux命令行执行如下命令查看 find / -name nginx* find / -name nginx* 查找所有名字以nginx开头的文件或者目录,我们看看系统里面都有哪些文件先,这样可以快…

【Jenkins】解决在Jenkins Agent节点容器内无法访问物理机的docker和docker compose的问题

解决在Jenkins Agent节点容器内无法访问物理机的docker和docker compose的问题 1. 确定物理机docker和docker compose已经安装2. 编写Jenkins Agent结点docker-compose.yaml配置文件3. 修改docker运行时文件权限4. 启动容器并验证 最近接触到一个发布产物是一个 docker镜像的项…

【力扣】GO解决子序列相关问题

文章目录 一、引言二、动态规划方法论深度提炼子序列问题的通用解法模式 三、通用方法论应用示例:最长递增子序列(LeetCode题目300)Go 语言代码实现 四、最长连续递增序列(LeetCode题目674)Go 语言代码实现 五、最长重…

EXCELL中如何两条线画入一张图中,标记坐标轴标题?

1,打开excel,左击选中两列, 2,菜单栏>“插入”>”二维折线图”选中一个 3,选中出现的两条线中的一条右击>最下一行,“设置数据系列格式” 4,右测“系列选项中”>点击“次坐标轴” 5…

邮件系统SSL加密传输,保护你的电子邮件免受网络威胁

在互联网的浪潮中,企业数字化转型的步伐不断加快。企业邮箱作为数字化应用的重要组成部分,已成为员工沟通、协同工作和企业管理的关键工具。但是在公共网络安全性普遍较弱的背景下,黑客容易侵入企业网络,监控流量,截获…

私域朋友圈运营

今天必须给大家分享一份超棒的朋友圈运营思维导图 有了它,你可以逐步打造属于自己的精彩朋友圈🎉。无论是想分享生活点滴💧,还是展示个人魅力✨,又或者推广自己的业务📈,这份思维导图都能给你指…

vuetify学习笔记(v-app和v-responsive)

我最近在学习vuetify3,我以前是用element plus和taiwind css。vuetify的一个好处是,它不仅是一个向element plus一样提供好用的组件库,而且还提供了向taiwind css一样的原子类,可以通过类名方便的定义组建的样式。以前element plu…

为什么使用 toFixed 方法的结果不一致呢?

偶遇一个不准确的方法 toFixed() ,其是 JS 中用于将数字格式化为指定小数位数的方法,但有时返回的结果不够准确,展示如下: 这通常是由于 JavaScript 对浮点数的处理方式导致的。 1. 浮点数精度问题 JavaScript 中的数字是以 IEE…

乡村小道图像分割系统:智能化检测

乡村小道图像分割系统源码&数据集分享 [yolov8-seg-C2f-Faster-EMA&yolov8-seg-HGNetV2等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Globa…

JavaWeb合集22-Apache POI

二十二、Apache POI Apache POI是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用POI在Java 序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI都是用于操作Excel文件。 使用场景:银行网银系统导出…

Unity Vision Pro 保姆级开发教程-PolySpatial VisionOS Samples 示例场景

视频教程地址 PolySpatial VisionOS Samples 示例场景 Unity Vision Pro 中文课堂教程地址: Unity3D Vision Pro 开发教程【保姆级】 | Unity 中文课堂 有界体积样本 Balloon Gallery 气球画廊 气球画廊是一个迷你游戏,演示了使用Indirect Pinch and …

vue3使用i18n做国际化多语言,实现常量跟随语言切换翻译

因为我有一个常量的配置文件在项目中,而且有中文内容,我想在切换语言的时候,跟着这个翻译也实时切换,就可以使用computed计算属性实现。 把name改成下面的样子: name: computed(() > t(pad.regularMode)), 就可以…

基于SpringBoot的人才公寓管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…