【shell脚本】shell脚本之企业日常机器巡检脚本(进阶实战一)

恭喜你,找到宝藏博主了,这里会分享shell的学习整过程。

shell 对于运维来说是必备技能之一,它可以提高很多运维重复工作,提高效率。

shell的专栏,我会详细地讲解shell的基础和使用,以及一些比较常用的shell技巧。

有需要的可以从这里开始,可以教会你如何去进行shell脚本的编写,提高你的工作效率。

从第一篇基础开始:
【shell脚本】shell脚本之概念、运行方式、变量的使用、交互式脚本、运算(shell脚本基础学习一)_向往风的男子的博客-CSDN博客

复制代码
#!/bin/bash
echo "##############check system info###############"
version=`cat /etc/redhat-release | awk '{print $4}'`
system=`cat /etc/redhat-release | awk '{print $1}'`
echo "current system:$system"
echo "current system version:$version"
kernel=`uname -r`
echo "kernel:$kernel"
dtime=`date`
echo "current time:$dtime"
rtime=`cat /proc/uptime | awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒\n",run_days,run_hour,run_minute,run_second)}'`
echo "runned time:$rtime"
btime=`who -b | awk '{print $2,$3}'`
echo "the first system boot:$btime"
echo "hostname:$HOSTNAME"
echo "###############check network info############"
ip=`ifconfig eth0 | awk '/inet /{print $2}'`
echo "ip:$ip"
route=`route -n | awk '/UG/{print $2}'`
echo "GW:$route"
dns=`cat /etc/resolv.conf | awk '/nameserver/{print $2}'`
echo "dns:$dns"
ping -c 1 8.8.8.8 > /dev/null 
if [ $? -eq 0 ];then
	echo "network:OK"
else 
    echo network:"not OK"
fi
echo "###############hardware info###################"
pcpu=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
echo "当前主机物理cpu个数:$pcpu"
lcpu=`cat /proc/cpuinfo| grep "processor"| wc -l`
echo "当前主机逻辑cpu个数:$lcpu"
xcpu=`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq `
echo "当前主机cpu的型号:$xcpu"
core=`cat /proc/cpuinfo| grep "cpu cores"| uniq`
echo "当前主机cpu的核数:$core"
total=`free -h | awk '/Mem/{print $2}'`
echo "当前主机总内存:$total"
idel=`free -h | awk '/Mem/{print $4}'`
echo "当前主机空闲内存:$idel"
p=`lsblk | awk 'NR==2{print $4}'`
echo "当前主机的磁盘总空间容量:"$p
q=`df -h | awk 'NR==2{print $4}'`
echo "当前主机的磁盘剩余空间容量:"$q
b=`free -h | awk 'NR==3{print $2}'`
echo "当前主机的总SWQP空间:$b"
echo "###############secure info#####################"
usercount=`who | wc -l`
echo "当前的登录用户:$usercount"
if [ $usercount -gt 10 ];then
  echo "登录用户数量过多"
else 
  echo "当前登录用户数量正常"
fi
userl=`cat /etc/passwd | wc -l`
if [ $userl -gt 51 ];then
 	echo "用户数量异常"
else 
	echo "用户数量正常"
fi
相关推荐
by209992 小时前
Linux 基础指令与文件操作
linux·1024程序员节
2401_868534783 小时前
软考网络规划设计师SSL协议知识点详解
服务器·网络
Escalating_xu3 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
润滑卫士3 小时前
油液多参数融合故障诊断:数据级融合与决策级融合方法
运维
李纲明4 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
todoitbo5 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
AR-26710-5 小时前
Linux Day26——传输层与三次握手
linux·运维
隔窗听雨眠6 小时前
PostgreSQL单表从Windows迁移到Linux:差异剖析、方案对比与全流程实战
linux·windows·postgresql
xinruoqianqiu6 小时前
记录Linux
linux
额额额对了6 小时前
嵌入式 Linux 实战:i.MX6ULL 上的 CAN 通信与摄像头采集
linux·运维·服务器