【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
相关推荐
HalvmånEver1 分钟前
Linux:Ext系列⽂件系统(三)
linux·运维·服务器
伍叁_1 分钟前
shell脚本案例
linux·运维·服务器
qq_5470261792 分钟前
Linux 文件与目录管理
linux·运维·服务器
宸津-代码粉碎机6 分钟前
告别繁琐SQL!MyBatis - Flex让数据库操作“飞”起来
java·服务器·tomcat
云声风语6 分钟前
buuCTF练习题misc大白记一次vim配合xxd使用
linux·编辑器·vim
南棱笑笑生6 分钟前
20251219给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后解决启动不了报atf-2的问题
linux·c语言·开发语言·rockchip
艾莉丝努力练剑13 分钟前
【Linux进程(四)】深入理解 Linux O(1) 调度器:双队列轮转与进程优先级机制——如何避免进程饥饿,实现公平且高效的进程调度
java·大数据·linux·运维·服务器·人工智能·安全
好评1241 小时前
Linux入门:软件包管理、Vim、GCC、Makefile、Git 与 GDB
linux·运维·服务器
可爱又迷人的反派角色“yang”2 小时前
ansible剧本编写(三)
linux·网络·云计算·ansible
m0_738120722 小时前
应急响应——知攻善防Web-3靶机详细教程
服务器·前端·网络·安全·web安全·php