【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
相关推荐
忆挽篱笙歌16 分钟前
通信连接,匿名管道
linux·服务器·网络
无足鸟ICT3 小时前
【RHCA+】安装Tuned
linux·服务器·centos
Decay__8 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农8 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
艺杯羹9 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
陈希1239 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
一条破秋裤10 小时前
【1114】【并发控制】【笔记】
linux
2035去旅行11 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康11 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡11 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件