#!/bin/bash
##########系统信息###########
#系统类型
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}' |awk -F ',' '{print $1}'`
#最后重启时间
os_last_time=`who -b |awk '{print $2,$3}'`
#本机名称
os_localhost=`hostname`
echo "系统版本:${os_ver}"
echo "系统内核:${os_ker}"
echo "当前时间:${os_time}"
echo "运行时间:${os_run_time}"
echo "最后重启时间:${os_last_time}"
echo "本机名称:${os_localhost}"
###############网络信息###########
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
###########硬件信息#########
###cpu###
#cpu的数量
cpuid=`grep "physical id" /proc/cpuinfo |sort |uniq |wc -l`
#cpu的核心数
#cpu的型号
cpumode=`grep "model name" /proc/cpuinfo |awk -F ':' '{print $2}'`
echo "cpu的数量:$cpuid"
echo "cpu的核心数:$cpucores"
echo "cpu的型号:$cpumode"
###内存###
#内存总容量
memtotal=`free -m |grep "Mem" |awk '{print $2}'`
#剩余内存容量
memfree=`free -m |grep "Mem" |awk '{print $4}'`
echo "内存总容量:$memtotal"
echo "剩余内存容量:$memfree"
###磁盘总容量###
disksize=0
#交换分区总容量
swapsize=`free -m |grep Swap |awk '{print $2}'`
#磁盘分区总容量
partitionsize=(`df -T |grep -v "tmpfs" |sed '1d' |awk '{print $3}'`)
for ((i=0;i<`echo ${#partitionsize[@]}`;i++))
do
disksize=`expr $disksize + ${partitionsize[$i]}`
done
((disktotal=($disksize+$swapsize)/1024/1024))
echo "磁盘总容量:$disktotal"
###########安全信息###########
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