shell巡检脚本

2023-10-30

巡检主机系统版本:centos7

编程需求:

日常巡检是每一个运维必须要做的事情,如果能用脚本实现的话,那将大大简化巡检的工作难度!
[root@localhost shell]# vim sys_check.sh

#!/bin/bash
#第一部分:系统信息===
sys_info(){
sys_type=$(uname)
sys_version=$(cat /etc/redhat-release)
sys_core=$(uname -r)
sys_date=$(date +%F_%T)
sys_last_reboot=$(who -b|awk '{print $3}')
sys_hostname=$(hostname)
echo "系统类型:${sys_type}" 
echo "系统版本号: ${sys_version}"
echo "系统内核: ${sys_core}"
echo "系统当前运行时间: ${sys_date}"
echo "系统最后重启时间: ${sys_last_reboot}"
echo "主机名称: ${sys_hostname}"
}
#第二部分:网络信息=====
net_info(){
net=$(ifconfig |grep 192|awk '{print $2}')
echo "本机主机的ip地址为:$net"
ping baidu.com -c 1 >/dev/null
if [ $? -eq 0 ]; then
        echo "能正常访问外网"
else
        echo "请查看你的网络!"
fi  
}
#第三部分:硬件信息==========
:<<eof
cpu信息
内存信息:内存总量,剩余内存总量

磁盘信息
eof
cpu_info(){
cpu_num=$(lscpu|sed  -n '4p'|awk '{print $2}')
cpu_core=$(cat /proc/cpuinfo |grep "core id"|sort |uniq |wc -l)
cpu_mode=$(cat /proc/cpuinfo |grep "model name"|sort |uniq|awk -F ':' '{print $2}')
echo "cpu的个数:${cpu_num}"
echo "cpu的核心数:${cpu_core}"
echo "cpu的型号:${cpu_mode}"
}
mem_info(){
mem_total=$(free  -m|grep Mem|awk '{print $2}')
mem_free=$(free  -m|grep Mem|awk '{print $4}')
echo "内存总量为:${mem_total}"
echo "剩余内存总量为:${mem_free}"
}

disk_info(){
var=(`df -T|grep -v tmpfs|sed '1d'|awk '{print $3}'`)
int=0
for i in ${var[@]}
do
        size=`expr $int + $i`
done
echo "磁盘总量为:$size"
var=(`df -T|grep -v tmpfs|awk '{print $5}'|sed '1d'`)
for i in ${var[@]}
do
        size=`expr $int + $i`
done
echo "剩余磁盘总量为:$size"
}
while :
do
        sys_info
        net_info
        cpu_info
        mem_info
        disk_info
        sleep 1
done

在脚本最后加了死循环调用上面写的函数不停输出巡检结果

执行脚本
[root@localhost shell]# sh sys_check.sh
系统类型:Linux
系统版本号: CentOS Linux release 7.5.1804 (Core)
系统内核: 3.10.0-862.el7.x86_64
系统当前运行时间: 2020-04-05_19:52:09
系统最后重启时间: 21:39
主机名称: localhost.localdomain
本机主机的ip地址为:192.168.141.130
192.168.122.1
能正常访问外网
cpu的个数:4
cpu的核心数:2
cpu的型号: Intel® Core™ i5-6200U CPU @ 2.30GHz
内存总量为:1821
剩余内存总量为:128
磁盘总量为:9176232
剩余磁盘总量为:0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell巡检脚本 的相关文章

  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • shell-out 值到 md5(加密)函数

    我正在寻找一种解决方案 我正在构建 JSON 记录 并需要在 JQ 中生成一些文本 但将此文本通过管道传输到 MD5 求和函数并将其用作键的值 echo first John last Big jq id first last md5 通过
  • 如何确保应用程序在 Linux 上持续运行

    我试图确保脚本在开发服务器上保持运行 它会整理统计数据并提供网络服务 因此它应该会持续存在 但一天中有几次 它会因未知原因而消失 当我们注意到时 我们只需再次启动它 但这很麻烦 并且某些用户没有权限 或专有技术 来启动它 作为一名程序员 我
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 通过 sed 使用 unix 变量将数据附加到每行末尾[重复]

    这个问题在这里已经有答案了 我有一个文件 我想使用 SED 将值附加到每行末尾的 unix 变量中 我已经通过 AWK 实现了这一点 但我想在 SED 中实现 像这样的东西 我已经尝试过以下命令 但它不起作用 sed i s BATCH R
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 套接字错误 10054

    我有一个C S程序 客户端使用socket向服务器发送文件 发送后大约超过700k数据 客户端 在win7上 将收到套接字10054错误 这意味着连接被对等方重置 服务器运行在CentOS 5 4上 客户端是在virtual box中运行的
  • 在 shell 脚本中将一个子字符串替换为另一个字符串

    我有 我爱苏子并结婚 我想将 苏子 更改为 萨拉 firstString I love Suzi and Marry secondString Sara 期望的结果 firstString I love Sara and Marry 要更换
  • 当用户按下打印时运行脚本,并且在脚本结束之前不开始假脱机(linux,cups)

    我需要做的是结合用户按下打印来执行 python 程序 脚本 并且在该程序退出之前不要让打印作业假脱机 原因是打印驱动程序不是开源的 我需要更改用户设置 在本例中是部门 ID 和密码 通常是每个用户 但因为这是一个信息亭 具有相同帐户的不同
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • bash循环跳过注释行

    我正在循环文件中的行 我只需要跳过以 开头的行 我怎么做 bin sh while read line do if line doesn t start with then echo line fi done lt tmp myfile 谢
  • Monkeyrunner/jython 中未找到 JDBC 驱动程序错误

    我需要在中插入一些东西DB 我在用着JDBC as a connector jython the script mysql数据库和脚本正在运行CentOS 我的代码看起来像这样 from com android monkeyrunner i
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建

随机推荐

  • 使用Chrony的Raspberry Pi

    chrony是网络时间协议 NTP 的实现 它替代了ntpd 后者是NTP 的参考实现 与NTPsec不同 chrony是从零开始实现的 它被设计为即使在诸如间歇性网络连接 例如笔记本电脑 和拥塞网络之类的困难条件下也可以同步时间 与ntp
  • 数据挖掘——无监督学习

    一 概述 无监督学习算法 让计算机自己学习 没有属性或者标签 有监督学习算法 每个样本都已经被标明 我们已经被告知了学习的答案 无监督学习的典型算法是聚类算法和降维 二 聚类算法 1 概念 聚类分析 将数据对象分组成为多个蔟 同一簇中的对象
  • [VMware]解决"已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作"的问题

    创建好空的虚拟机后使用ISO镜像文件后重启进行安装系统 出现下图问题 原因 是BIOS未开启虚拟化技术 之前个人用的电脑是默认开启了 现在换到公司联想的电脑上安装虚拟机发现了这个问题 解决方式 虚拟化技术目前主要依赖于电脑的CPU型号及BI
  • wireshark 本地连接无数据 抓不到网卡解决方法

    问题描述 环境 win7 wireshark 3 4 6 不知道我之前做了啥 突然wireshark抓不到数据了 过滤的网卡选择哪个接口都不行 捕获选项如下图 做过以下尝试都不行 在cmd中打开抓包服务 net start npf 软件卸载
  • arm64-v8a编译

    环境 Ubuntu64和android ndk r11c 其他不支持arm64 v8a架构 重点 依赖库要使用android ndk r11c编译成arm64 v8a 其中ffmpeg最复杂 编译方法如下 1 ffmpeg编译 目录建立 创
  • 线程池源码(一)

    一 ThreadPoolExecutor执行流程 二 ThreadPoolExecutor状态 线程池中核心属性 ctl ctl本质就是一个int类型的数值 private final AtomicInteger ctl new Atomi
  • 【Python VTK】读取二维序列医学图像分割结果并进行三维重建

    一 问题描述 最近在开发过程中遇到了这样的问题 在医学图像开发过程中 我们将医学图像通过深度学习算法进行分割 现在想要通过这一套二维图像进行三维重构 以下是分割结果 图一 前列腺核磁图像分割结果 图一 前列腺核磁图像分割结果 图一 前列腺核
  • 73-C语言-计算闹钟的时间

    问题 已知现在的小时和分钟 即几点几分 并想要睡觉的时间 单位为min 求闹钟应在几点响 思路 先输入现在准备睡觉的几点几分 以及睡觉的总时长 在看问题最后求的是什么 是到时候 闹钟几点响 而闹钟的设置 先看范围 小时不能超过24小时 分钟
  • Counterfactual Zero-Shot and Open-Set Visual Recognition (CVPR2021)

    这是南洋理工张含望老师组的作品 这篇文章从因果推理出发 来根据反事实推断设计模型 出发点非常的新颖 但不容易懂 因果推理理论是一个非常不错的帮助人换角度看问题的理论工具 多多学习 文章全名叫 Counterfactual Zero Shot
  • Linux的视窗系统总结:初认识《一》

    X window Wayland DirectFB linuxfb的区别 在QT中 真正关心硬件操作的是图形引擎层 图形引擎实现方式在linux上有多个 1 通过X11 2 DFB directFB 3 LinuxFB 其中桌面PC的QT版
  • Django中的Cookie与Session

    Cookie 设置cookie 使用response对象set cookie 获取cookie 用request对象 测试 成功获取到了上一步所添加的cookie Session 一般做项目的时候Session会存到redis中 djang
  • matlab实现简单清浊音检测

    清浊音检测原理公式 清浊音检测是在一段语音信号中区分出清音段 浊音段和静音段 原理框图如下所示 1 过零率 2 对数能量 3 单位延迟自相关系数归一化 4 lpc系数 使用Leveson Durbin算法求得 取 a2 a3 aM的值即为L
  • Java基础——根类与String类

    转眼间我们已经工作完一周了 这周开始阿Q要不定时更新知识了 先让我们来学习一下java中的Object与string类吧 Object类 API Application Programming Interface 应用程序编程接口 Java
  • 给定一个整数,判断它能否被3,5,7整除,并输出以下信息:1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);2、只能被其中两个数整除(输出两个数,小的在前,大的在后。

    24 int a 25 printf 请输入一个数 26 scanf d a 27 if a 3 0 28 printf 3 29 if a 5 0 30 printf 5 31 if a 7 0 32 printf 7 33 else 3
  • 模拟客户端和服务端

    import org junit jupiter api Test import java io import java net InetAddress import java net ServerSocket import java ne
  • spirng-Alibaba的介绍和导入

    3 spirng Alibaba 3 1spirng Alibaba概述和导入依赖 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img 4hqZgDfQ 1637066858419 https static01 im
  • 使用Python、OpenCV,ImageMagick工具箱根据原始视频制作GIF动画

    使用Python OpenCV ImageMagick工具箱根据原始视频制作GIF动画 python读取原始视频流每一帧 并生成照片保存到本地文件夹 读取本地文件夹图片 根据图片名排序 支持根据帧率过滤 指定最大多少帧照片去生成gif 调用
  • 剑指 Offer 62. 圆圈中最后剩下的数字 <约瑟夫环>

    看了诸多大神的解题还是有点不明白 故记录一下 如题 0 1 n 1这n个数字排成一个圆圈 从数字0开始 每次从这个圆圈里删除第m个数字 删除后从下一个数字开始计数 求出这个圆圈里剩下的最后一个数字 方法一 递归 数学 递归 class So
  • SpringBoot(13)过滤器+拦截器+监听器

    文章目录 一 过滤器 1 过滤器介绍 2 Filter生命周期 4 注解方式实现过滤器 WebFilter WebFilter Order 1 ServletComponentScan 启动类代码 Filter代码 5 直接注入到sprin
  • shell巡检脚本

    巡检主机系统版本 centos7 编程需求 日常巡检是每一个运维必须要做的事情 如果能用脚本实现的话 那将大大简化巡检的工作难度 root localhost shell vim sys check sh bin bash 第一部分 系统信