用shell腳本實現企業日常巡檢
function system(){
echo "##########系統信息##########"
OS_TYPE=uname
OS_VER=cat /etc/redhat-release
OS_KER=uname -a|awk ‘{print $3}‘
OSTIME=`date +%F%T<br/>OS_RUN_TIME=
uptime |awk ‘{print $3}‘|awk -F, ‘{print $1}‘<br/>OS_LAST_REBOOT_TIME=
who -b|awk ‘{print $2,$3}‘<br/>OS_HOSTNAME=
echo " 系統類型:$OS_TYPE"
echo " 系統版本:$OS_VER"
echo " 系統內核:$OS_KER"
echo " 當前時間:$OS_TIME"
echo " 運行時間:$OS_RUN_TIME"
echo "最後重啟時間:$OS_LAST_REBOOT_TIME"
echo " 本機名稱:$OS_HOSTNAME"
}
function network(){
echo "############網絡信息############"
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:${INTERNET[$i]}:$OS_IP"
done
curl -I http://www.baidu.com &>/dev/null
if [ $? -eq 0 ]
then 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數量: $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=($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=($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 "當前登錄用戶:${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
}
用shell腳本實現企業日常巡檢