#!/bin/bash
function system(){
echo “#########################系统信息#########################”
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_REBOOT_TIME=who -b|awk '{print $2,$3}'
OS_HOSTNAME=hostname
echo " 系统类型:
O
S
T
Y
P
E
"
e
c
h
o
"
系
统
版
本
:
OS_TYPE" echo " 系统版本:
OSTYPE"echo"系统版本:OS_VER"
echo " 系统内核:
O
S
K
E
R
"
e
c
h
o
"
当
前
时
间
:
OS_KER" echo " 当前时间:
OSKER"echo"当前时间:OS_TIME"
echo " 运行时间:
O
S
R
U
N
T
I
M
E
"
e
c
h
o
"
最
后
重
启
时
间
:
OS_RUN_TIME" echo "最后重启时间:
OSRUNTIME"echo"最后重启时间:OS_LAST_REBOOT_TIME"
echo " 本机名称:$OS_HOSTNAME"
}
function network(){
echo “#########################网络信息#########################”
INTERNET=(ifconfig|grep ens|awk -F: '{print $1}'
)
for((i=0;i<echo ${#INTERNET[*]}
;i++))
do
OS_IP=ifconfig ${INTERNET[$i]}|head -2|grep inet|awk '{print $2}'
echo " 本机IP:KaTeX parse error: Expected '}', got 'EOF' at end of input: {INTERNET[i]}:$OS_IP"
done
curl -I http://www.baidu.com &>/dev/null
if [ $? -eq 0 ]
then echo " 访问外网:成功"
else echo " 访问外网:失败"
fi
}
function hardware(){
echo “#########################硬件信息#########################”
CPUID=grep "physical id" /proc/cpuinfo |sort|uniq|wc -l
CPUCORES=grep "cores" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'
CPUMODE=grep "model name" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'
echo " CPU数量:
C
P
U
I
D
"
e
c
h
o
"
C
P
U
核
心
:
CPUID" echo " CPU核心:
CPUID"echo"CPU核心:CPUCORES"
echo " CPU型号:$CPUMODE"
MEMTOTAL=free -m|grep Mem|awk '{print $2}'
MEMFREE=free -m|grep Mem|awk '{print $7}'
echo " 内存总容量: ${MEMTOTAL}MB"
echo “剩余内存容量: ${MEMFREE}MB”
disksize=0
swapsize=free|grep Swap|awk {'print $2'}
partitionsize=(df -T|sed 1d|egrep -v "tmpfs|sr0"|awk {'print $3'}
)
for ((i=0;i<echo ${#partitionsize[*]}
;i++))
do
disksize=expr $disksize + ${partitionsize[$i]}
done
((disktotal=(
d
i
s
k
s
i
z
e
+
disksize+
disksize+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=( d i s k f r e e + diskfree+ diskfree+swapfree)/1024/1024))
echo “剩余磁盘容量:${freetotal}GB”
}
function secure(){
echo “#########################安全信息#########################”
countuser=(last|grep "still logged in"|awk '{print $1}'|sort|uniq
)
for ((i=0;i<echo ${#countuser[*]}
;i++))
do echo “当前登录用户:KaTeX parse error: Expected '}', got 'EOF' at end of input: {countuser[i]}”
done
md5sum -c --quiet /opt/passwd.db &>/dev/null
if [ $? -eq 0 ]
then echo " 用户异常:否"
else echo " 用户异常:是"
fi
}
function chksys(){
system
network
hardware
secure
}
chksys