日常系统巡检脚本
系统类、版本、内核、当前时间、运行时间、最后重启时间、本机名称:
#!/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_REBOOT_TIME=`who -b|awk '{print $2,$3}'`
OS_HOSTNAME=`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"
}
system
打印结果
#########################系统信息#########################
系统类型:Linux
系统版本:CentOS Linux release 7.6.1810 (Core)
系统内核:3.10.0-957.el7.x86_64
当前时间:2020-03-07_17:03:21
运行时间:1:45
最后重启时间:2020-03-07 15:17
本机名称:kafka02
查询网络信息
#!/bin/bash
function network(){
echo "#########################网络信息#########################"
INTERNET=(`ifconfig|grep ens|awk -F: '{print $1}'`) # centos6 ifconfig | grep Bcast | awk '{print $2}' | awk -F : '{print $2}'
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 " 访问外网:成功"
else
echo " 访问外网:失败"
fi
}
network
打印结果
#########################网络信息#########################
本机IP:ens33:192.168.253.231
访问外网:成功
查询硬件信息
disksize=0
swapsize=`free|grep Swap|awk {'print $2'}`
partitionsize=(`df -T|sed 1d|egrep -v "tmpfs|sr0"|awk {'print $3'}`)
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"
}
hardware
打印结果
#########################硬件信息#########################
CPU数量: 1
CPU核心: 1
CPU型号: Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz
内存总容量: 972MB
剩余内存容量: 267MB
内存总容量: 972MB
剩余内存容量: 267MB
磁盘总容量: 19GB
剩余磁盘容量:13GB
查询安全信息
#!/bin/bash
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
}
secure
打印结果
#########################安全信息#########################
当前登录用户:root
用户异常:是
欢迎进群讨论:QQ群294668383(有意向可以添加)