shell脚本--服务器初始信息检查脚本

最近新部署的项目叫多,服务器下来的也不少,如果我们手动输入命令去检查服务器配置信息,要花费大量的时间,特此,使用了点时间编写了个shell脚本,方便我们进行服务器检查!!!

需求说明:
1.检查服务器版本及内核信息
2.检查CPU情况
3.检查硬盘分区情况
4.检查服务器网络IP情况
5.检查基础配置信息

注意:目前仅在cos7版本下测试没有问题,其他环境下若需要使用,请自行修改脚本内容!!

#!/bin/bash 
#This script is used to check the  basic  of server
#wright by skyfans  
#date:20181207

#system info 系统信息
system_info() { 
echo "**********************************************" 
echo "system info(系统统计情况)如下~~~~~~~~~~~~~" 
echo 
echo "   System-release(操作系统版本) : `cat /etc/redhat-release`" 
echo "   Kernel-release(内核版本) : `uname -a|awk '{print $1,$3}'`" 
echo "   Server-Model (服务器型号): `dmidecode | grep "Product Name:"|sed -n '1p'|awk -F': ' '{print $2}'`" 
echo 
} 
 
#CPU info CPU信息
cpu_info() { 
echo "**********************************************" 
echo "CPU info(CPU统计情况)如下~~~~~~~~~~~~~" 
echo 
echo "    Frequency(频率信息) : `cat /proc/cpuinfo | grep "model name" | uniq |awk -F': ' '{print $2}'`" 
echo "    CPU cores:  `cat /proc/cpuinfo | grep "cpu cores" | uniq |awk -F': ' '{print $2}'`" 
echo "    Logic Count(逻辑CPU) : `cat /proc/cpuinfo | grep "processor" | sort -u| wc -l `" 
echo "    Physical Count(物理CPU) : `cat /proc/cpuinfo | grep "physical" | sort -u| wc -l`" 
#echo "    Cache size : `cat /proc/cpuinfo| grep "cache size"|uniq|awk '{print $4,$5}'`" 
echo 
} 
  
#memory info 内存
mem_info() { 
memory=`dmidecode |grep "Range Size"|head -1|awk '{print $3$4}'` 
#mem_size=`echo "This server has ${memory} memory."` 
 
echo "**********************************************" 
echo "Memory info(内存统计情况)如下~~~~~~~~~~~~~" 
echo 
echo "   Total (内存大小总计): ${memory}" 
echo "   Count : `dmidecode |grep -A16 "Memory Device$"|grep Size|awk '{if($2!~/No/) print $0}'|wc -l`" 
dmidecode |grep -A20 "Memory Device$"|grep Size|sed '{s/^   */   /g};{/No/d}' 
echo 
} 

#disk  partitions 硬盘分区
swap_pos=`cat /proc/swaps|sed -n '2p'|awk '{print $1}'` 
partition_info() { 
echo "**********************************************" 
echo "磁盘统计情况如下~~~~~~~~~~~~~" 
echo 
echo "  Hard disk info(磁盘统计情况):" 
echo 
echo "`fdisk -l|grep Disk|awk -F, '{print $1}'`" 
echo "**********************************************" 
echo "  Partition info(分区信息统计情况):" 
echo 
df -Th | grep -v Filesystem | sed "s:none:${swap_pos}:" 
echo 
} 
 
#network  info 网卡情况
wangka=`ls /etc/sysconfig/network-scripts |grep ifcfg |awk '{print $1}' |sed -n '1p' |cut -c 7-`
network_info() { 
ipis=`ip a show dev ${wangka}| grep -w inet | awk '{print $2}' |awk -F '/' '{print $1}'`
echo "**********************************************" 
echo "Network info(网络统计情况)如下~~~~~~~~~~~~~" 
echo 
echo "  Network adapter info(网卡统计情况): ${wangka}" 
echo  
echo "  ip 为:${ipis}" 
echo 
} 

#iptables selinux 防火墙、selinux
sestatus=`cat /etc/selinux/config |grep SELINUX=disabled|awk -F= '{print $2}'`
ipstatus=`systemctl status firewalld |grep Active | awk -F: '{print $2}' |awk '{print $2}'|cut -d '(' -f 2 |cut -d ')' -f 1`
maxfile=`ulimit -n`
ipselinux_info() { 
echo "**********************************************" 
echo "服务器基础配置如下~~~~~~~~~~~~~"
echo
#查看selinux情况
echo "SELinux status is : ${sestatus}"
##echo "`service iptables status|sed 's/Firewall/Iptables/g'`" (如果是6版本信息,放开此条语句,注释下一条语句)
echo
echo "iptales status is (防火墙状态为) : ${ipstatus}"  
echo 
echo "open file is(文件最大打开连接数) : ${maxfile}" 
echo
echo "languzge(服务器字符集为) : "  $LANG
echo "**********************************************" 
} 
 
system_info 
cpu_info 
mem_info 
partition_info 
network_info 
ipselinux_info 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值