#!/bin/bash
###系统信息####
getsys(){
#系统类型
os_type=uname
#系统版本
os_ver=cat /etc/redhat-release
#系统内核
os_ker=uname -a|awk '{print $3}'
#当前时间
os_time=date +%F_%T
#运行时间
os_run_time=uptime |awk '{print $3,$4}'|awk -F ',' '{print $1}'
#最后重启时间
os_last_reboot=who -b|awk '{print $3}'
#本机名称
os_hostname=hostname
echo “系统类型: ${os_type}”
echo “系统版本: ${os_ver}”
echo “系统内核: ${os_ker}”
echo “当前时间: ${os_time}”
echo “运行时间: ${os_run_time}”
echo “最后重启时间: ${os_last_reboot}”
echo “本机名称: ${os_hostname}”
}
###网络信息####
getnet(){
ipaddr=(ifconfig |grep -w inet|awk '{print $2}'
)
echo “本机的ip地址:${ipaddr[@]}”
#测试网络连通性
curl -I http://www.baidu.com
if [ $? -eq 0 ]; then
echo “访问网络是ok的”
else
echo “网络异常!”
fi
}
##硬件信息#####
gethardware(){
##cpu##
#cpu的数量
cpuid=grep "physical id" /proc/cpuinfo |sort |uniq |wc -l
#cpu的核心数
cpucores=grep "cores" /proc/cpuinfo |sort |uniq |awk -F ':' '{print $2}'
#cpu的型号
cpumode=grep "model name" /proc/cpuinfo|awk -F ':' '{print $2}'
echo “cpus数量: $cpuid”
echo “cpu的核心数: $cpucores”
echo “cpu的型号: $cpumode”
##内存##
#内存总容量
memtotal=free -m|grep "Mem"|awk '{print $2}'
#剩余内存容量
memfree=free -m|grep "Mem"|awk '{print $4}'
echo “内存总容量: memfree”
##磁盘总容量
disksize=0
swapsize=free|grep Swap|awk {'print $2'}
partitionsize=(df -T|sed 1d|egrep -v "tmpfs"|awk {'print $3'}
)
for ((i=0;i<echo ${#partitionsize[*]}
;i++))
do
disksize=expr $disksize + ${partitionsize[$i]}
done
#1KB=1024B。
#1MB=1024KB。
#1GB=1024MB。
((disktotal=(swapsize)/1024/1024))
echo " 磁盘总容量: ${disktotal}GB"
diskfree=0
swapfree=free|grep Swap|awk '{print $4}'
partitionfree=(df -T|sed 1d|egrep -v "tmpfs|sr0"|awk '{print $5}'
)
for ((i=0;i<echo ${#partitionfree[*]}
;i++))
do
diskfree=expr $diskfree + ${partitionfree[$i]}
done
((freetotal=(swapfree)/1024/1024))
echo “剩余磁盘容量:${freetotal}GB”
}
####安全信息####
getsec(){
countuser=last|grep "still logged"|awk '{print $1}'|sort |uniq
md5sum /etc/passwd > /opt/passwd.db
md5sum -c --quiet /opt/passwd.db
if [ $? -eq 0 ]; then
echo “系统用户是ok的”
else
echo “系统用户异常!”
fi
}
main(){
getsys
getnet
gethardware
getsec
}
main
来源:CSDN
作者:生活可曾爱过谁
链接:https://blog.csdn.net/weilinpppp/article/details/103869204