企业级日常巡检脚本的编写

2023-11-08

1. 系统信息

1.1 操作系统类型

查看操作系统类型命令为 uname
例:

[root@host-134 ~]# uname
Linux

定义变量

os_type=$(uname)

1.2 操作系统版本号

查看操作系统版本号命令为 cat /etc/redhat-release
例:

[root@host-134 ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

定义变量

os_ver=$(cat /etc/redhat-release)

1.3 操作系统的内核

查看操作系统内核命令为 uname -r
例:

[root@host-134 ~]# uname -r
3.10.0-1062.el7.x86_64

定义变量

   os_ker=$(uname  -r)

1.4 服务器当前时间

查看服务器当前时间命令为 date +%F_%T
例:

[root@host-134 ~]# date +%F_%T
2021-01-06_14:19:25

定义变量

  os_time=$(date +%F_%T)

1.5 服务器主机名

查看服务器主机名命令为 hostname
例:

[root@host-134 ~]# hostname
host-134

定义变量

os_hostname=$(hostname)

2. 网络信息

2.1 服务器的ip地址

提取ip地址的命令:ifconfig |awk '/broadcast/{print $2}'

例:

[root@host-134 ~]# ifconfig |awk '/broadcast/{print $2}'
192.168.153.134

定义变量

  ip_addr=$(ifconfig |awk '/broadcast/{print $2}')

2.2 外网连通性测试

测试的命令:'ping www.baidu.com -c 3
-c 指定ping的次数

例:

[root@host-134 ~]# ping www.baidu.com -c 3
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=128 time=24.7 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=128 time=12.7 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=128 time=9.70 ms

测试不显示

   ping -c3 www.baidu.com >/dev/null

2.3 指定网卡流入量

RX是接收(receive)
网卡流入量统计命令:ifconfig ens32|grep RX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}'
例:

[root@host-134 ~]# ifconfig ens32|grep RX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}'
99.23M

定义变量

  RX=$(ifconfig ens32|grep RX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}')

2.4 指定网卡流出量

TX是发送(transport)
网卡流出量统计命令:ifconfig ens32|grep TX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}'
例:

[root@host-134 ~]# ifconfig ens32|grep TX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}'
2.48M

定义变量

TX=$(ifconfig ens32|grep TX|head -1|awk '{printf "%.2fM\n",$5/1024/1024}'

3. CPU信息

3.1 cpu的型号

命令:cat /proc/cpuinfo |grep "model name"|uniq|awk -F ":" '{print $2}'
例:

[root@host-134 ~]# cat /proc/cpuinfo |grep "model name"|uniq|awk -F ":" '{print $2}'
 Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz

3.2 物理个数

命令:cat /proc/cpuinfo |grep "physical id"|uniq|wc -l

[root@host-134 ~]# cat /proc/cpuinfo |grep "physical id"|uniq|wc -l
2

3.3 核心数

[root@host-135 ~]# grep -c processor /proc/cpuinfo 
4

3.4 CPU进程数

[root@host-137 ~]# ps -ef|wc -l
133

3.5 CPU线程数

[root@host-137 ~]# grep 'processor' /proc/cpuinfo |sort -u |wc -l
4

4. 内存信息

4.1 查看内存总大小 命令

free -m|sed -n 2p|awk '{print $2}'
定义变量

mem_total=free -m | sed -n 2p |awk '{print $2}'

4.2 查看已用内存

free -m|sed -n 2p|awk '{print $3}'

定义变量

  mem_used=`free -m | sed -n 2p |awk '{print $3}'`

4.3 查看剩余内存

free -m|sed -n 2p|awk '{print $2-$3}'

例:

[root@host-134 ~]# free -m|sed -n 2p|awk '{print $2-$3}'
1557

定义变量

  mem_free=`free -m |sed -n '2p' |awk '{print $4}'`

5. 磁盘信息

5.1 查看磁盘总大小

命令:

lsblk |awk '/disk/{print $4}'

例:

[root@host-134 ~]# lsblk |awk '/disk/{print $4}' 
40G

定义变量

  disktotal=$(lsblk |awk '/disk/{print $4}')

5.2 查看已用磁盘百分比

命令:

df -h |grep '/$'|awk '{print $5}'

例:

[root@host-134 ~]# df -h |grep '/$'|awk '{print $5}'
5%

定义变量

disk_use=$(df -h |grep '/$'|awk '{print $5}')

5.3 查看剩余磁盘百分比

命令:

df -h |grep '/$'|awk '{printf "%d%\n",100-$5}'

例:

[root@host-134 ~]# df -h |grep '/$'|awk '{printf "%d%\n",100-$5}'
95%

定义变量

disk_free=$(df -h |grep '/$'|awk '{printf "%d%\n",100-$5}')

5.4 磁盘的IO

bi 从块设备接收的块(块/ s)

[root@host-137 ~]# vmstat |sed -n 3p|awk '{print $9}'
2

bo 发送到块设备的块(块/ s)

[root@host-137 ~]# vmstat |sed -n 3p|awk '{print $10}'
3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

企业级日常巡检脚本的编写 的相关文章

  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 有没有办法让我简化这些回声? [复制]

    这个问题在这里已经有答案了 我仍在学习如何编写 shell 脚本 并且我面临着一个挑战 让我更容易回显 Name1 Name2 Name15 我不太确定从哪里开始 我已经想法 但如果我搞砸了 我不想看起来很傻 有什么帮助吗 我实际上还没有尝
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • sed 错误“未终止的 's' 命令”故障排除

    我正在构建一个script https stackoverflow com questions 4036832 replacing a specific term in an xml file其中 它将用文件夹路径替换 XML 文件中的模式
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 在 iOS 模拟器中安装应用程序的脚本

    我正在尝试自动化构建应用程序 运行单元测试以及最终运行 UI 测试的过程 我正在通过命令行 xcodebuild sdk iphonesimulator6 0 在某个目录中构建应用程序 如何通过命令行 在 Library Applicati
  • 从 shell 命令调用 SOAP 请求

    我使用curl 向Web 服务发送SOAP 请求 并使用shell 脚本获取响应 请在下面找到我正在使用的命令 curl H Content Type text xml charset utf 8 H SOAPAction d sample
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is

随机推荐

  • mesa图解

    http www sourcecodebrowser com mesa 7 8 2 state 8c html
  • C - Divisors of the Divisors of An Integer Gym - 102040C

    题目链接 题意 就是求n 中因子的因子的个数 题解 n 中某个因子的个数就是n x的累加 证明 其实就是每次褪一层 即每次除去能除于1个3的 依次两个3的 三个3的个数 最终也就能得到3的个数 这里没必要 整除 因为是阶乘 所以即使不能整除
  • Redis初级命令

    一 常用key命令 查看所有key keys 查看key的类型 type key 返回状态1 0 True False 当传入多个key时返回or的结果 即只要有一个存在就返回True exists key key 将key从当前db移动到
  • 学生成绩管理系统数据库设计--MySQL

    MySQL 数据库设计 学生成绩管理系统 设计大纲 友情链接 1 医疗信息管理系统数据库 MySQL 2 邮件管理数据库设计 MySQL 3 点餐系统数据库设计 SQL Server 4 商品管理系统数据库设计 SQL Server 5 S
  • JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构

    javaEE架构 1 传统三层架构 all in one项目 传统三层架构大致可以分为表现层 业务层和持久层 数据访问层 其中表现层负责接受请求和转发请求 业务层负责处理请求 注 事务管理 日志记录等AOP类型的操作均封装在这一层 持久层主
  • 将web项目导出到远程服务器的tomcat中

    将web项目导出到远程服务器的tomcat中 前期准备 步骤 前期准备 eclipse2017创建的web项目 阿里云服务器中存在tomcat 远程连接工具 windows自带 步骤 1 在eclipse上将完成好的web项目导出为war文
  • ubuntu linux安装pytorch和torchvision

    1 下载镜像 镜像网址 https download pytorch org whl torch stable html 假设你要下载torch1 4 0版本 cp36代表你的环境是python3 6 cu100代表的是你的cuda是10
  • C语言大作业学生成绩管理系统

    1 设计要求 利用所学的知识 理论和实际结合 利用资源 采用模块化的结构 使用模仿修改自主设计相结合的方法 锻炼学生综合分析解决实际问题的编程能力 通过C语言各个函数功能来实现对学生信息的管理 学生信息包括学生姓名 学号 各科成绩 管理方式
  • c++中的成员访问级别和派生继承方式

    1 一个类中的不同变量和函数的访问属性 总共有三种访问级别 public private protected 在类中定义的成员变量和成员函数的时候 如果不在变量前面加上访问级别修饰符 类中默认为私有成员变量或者私有成员函数 而在结构体中如果
  • OOALV data_changed 與data_changed_finished事件

    data changed在可編輯字段的數據發生變化時才會觸發 可用來檢查輸入數據的正確性 data changed finished在回車時和可編輯字段數據發生變化后 光標移動時觸發 如果可編輯字段數據檢查失敗 則不會觸發此事件 這兩個事件
  • 服务器端hsm芯片,数据加密服务CloudHSM

    数据加密服务 CloudHSM 基于国密局认证的物理加密机 Hardware Security Module HSM 利用虚拟化技术 提供弹性 高可用 高性能的数据加解密 密钥管理等云上数据安全服务 符合国家监管合规要求 满足金融 互联网等
  • 戴尔r410服务器虚拟磁盘,DELL服务器R410原装 SAS 6/IR RAID卡 阵列控制器卡 支持RAID0,1...

    SAS 6 iR 功能 Dell 串行连接 SCSI 6 iR 集成控制器和适配器 用户指南 介绍了 Dell串行连接 SCSI SAS 6 iR 控制器的规格 下表对 SAS 6 iR 适配器和 SAS 6 iR 集成控制器的规格进行了比
  • KITTI数据集之点云地图构建

    本文描述了如何通过KITTI数据集 读取激光雷达点云数据 并通过ground truth 对前后两帧点云进行旋转变换 使得二者统一坐标系 不断叠加点云进行点云建图的过程 使用的是KITTI odometry中的07号数据集 其主要内容包括
  • android BSP

    HAL 硬件抽象层 BootLoader 硬件初始化管控 Linux Device Driver Linux 内核驱动
  • Macbook pro搭建unbutu18.04的步骤(省钱又实惠)

    第一步 下载parallels desktop 链接 https pan baidu com s 17Bqw0rWezrfOMLZqTaImag 密码 h0z5 注意 在线下载 离线安装 省钱省事 永久自动激活 小编花了十块钱 第二步 运行
  • AppsFlyer 研究(二)应用内事件

    一 记录应用内事件 应用内事件可助您深入了解应用里正在发生的事 我们建议您花些时间定义要记录的事件 记录应用内事件有助于您衡量KPI 例如ROI 投资回报率 和LTV 生命周期价值 有几种方法可以记录应用内事件 最常见的方法是通过我们在本文
  • Activiti7工作流+idea2021监听器法器的使用

    法器 这次需要个好宝贝 4 监听器 工作流的开头都是创建bpmn文件 注意一点细节问题 需要加监听器了 首先我们得有一个监听器 package listener import org activiti engine delegate pub
  • 2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复

    如果有嵌入式企业需要招聘校园大使 湖南区域的日常实习 任何区域的暑假Linux驱动实习岗位 可C站直接私聊 或者邮件 zhangyixu02 gmail com 此消息至2025年1月1日前均有效 前言 1 各位私信问问题之前 看看自己的问
  • prometheus监控docker容器实战

    1 cAdvisor介绍 要监控docker状态 需要使用一个软件cAdvisor cAdvisor Container Advisor 是Google开源的容器资源监控和性能分析工具 它是专门为容器而生 可以用于收集正在运行的容器资源使用
  • 企业级日常巡检脚本的编写

    1 系统信息 1 1 操作系统类型 查看操作系统类型命令为 uname 例 root host 134 uname Linux 定义变量 os type uname 1 2 操作系统版本号 查看操作系统版本号命令为 cat etc redh