【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
相关推荐
wirepuller_king3 小时前
创建Linux虚拟环境并远程连接,finalshell自定义壁纸
linux·运维·服务器
Yan-英杰3 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
在野靡生.4 小时前
Ansible(1)—— Ansible 概述
linux·运维·ansible
风123456789~4 小时前
【Linux运维】查询指定日期的上月
linux·运维·服务器
zyk_5204 小时前
Docker desktop如何汉化
运维·docker·容器
韭菜盖饭4 小时前
解决Docker端口映射后外网无法访问的问题
运维·docker·容器
我没想到原来他们都是一堆坏人4 小时前
利用vmware快速安装一个可以使用的centos7系统
linux·虚拟机
x-cmd4 小时前
[250331] Paozhu 发布 1.9.0:C++ Web 框架,比肩脚本语言 | DeaDBeeF 播放器发布 1.10.0
android·linux·开发语言·c++·web·音乐播放器·脚本语言
weitinting4 小时前
Ali linux 通过yum安装redis
linux·redis
myloveasuka5 小时前
[Linux]从硬件到软件理解操作系统
linux·开发语言·c++