日常巡检的脚本

#!/bin/bash
#日常巡检脚本包括
###########################################系统信息
os_check(){
#操作系统的类型
os_type=$(uname -r)
echo "系统类型为:${os_type}"
#操作系统的版本号
os_version=$(cat /etc/redhat-release)
echo "系统版本号为:${os_version}"
#系统内核信息
os_ker=$(uname  -a|awk '{print $3}')
echo "系统内核信息为:${os_ker}"
#系统时间
os_date=$(date +%F_%T)
echo "当前时间为:${os_date}"
#系统运行时间
os_run_time=$(uptime |awk '{print $1,$3}'|awk -F ',' '{print $1}')
echo "系统运行时间:${os_run_time}"
#系统最后重启时间
os_last_reboot=$(who -b|awk '{print $2,$3}')
echo "系统最后重启时间:${os_last_reboot}"
#服务器的主机名
os_hostname=$(hostname)
echo "服务器的主机名为:${os_hostname}"
}
###########################################网络信息
network_check(){
#获取服务器的ip地址
ip_addr=$(ifconfig ens33|awk '/broadcast/ {print $2}')
echo "服务器的ip地址为:${ip_addr}"
#检测服务器是否能正常访问外网
ping -c 3 www.baidu.com >/dev/null
if [ $? -eq 0 ]; then
	echo "network is ok"
else
	echo "not ok,please check network!"
fi
}
###########################################硬件信息
cpu_check(){
######################cpu信息
#cpu数量(物理个数)
cpu_physical=$(cat /proc/cpuinfo |grep "physical id"|sort |uniq |wc -l)
echo "cpu的物理个数:${cpu_physical}"
#cpu核心数
cpu_core=$(cat /proc/cpuinfo |grep "core id"|sort |uniq |wc -l)
echo "cpu的核心数:${cpu_core}"
#cpu的型号信息
cpu_model=$(cat /proc/cpuinfo |grep "model name"|sort |uniq |awk -F ':' '{print $2}')
echo "cpu的型号信息:${cpu_model}"
######################cpu信息
}
mem_check(){
######################内存信息
#内存总量
mem_total=$(free  -m|awk '/Mem/ {print $2}')
echo "内存总量为:${mem_total}"
#剩余内存总量
mem_free=$(free  -m|awk '/Mem/ {print $4}')
echo "内存剩余总量为:${mem_free}"
}
######################磁盘信息
disk_check(){
#磁盘总量
#lsblk |grep  -w sda|awk '{print $4}'
disk_total=$(lsblk |awk '/disk/{print $4}')
echo "磁盘总量为:${disk_total}"
#磁盘剩余总量
shuzu=(`df -T|grep -v "tmpfs"|sed '1d'|awk '{print $5}'`)
diskfree=0
for ((i=0;i<`echo ${#shuzu[@]}`;i++))
do
	diskfree=`expr  $diskfree + ${shuzu[$i]}`
done
echo "磁盘剩余总量为:$diskfree"
}
###########################################安全信息
secure_check(){
#获取登录服务器的账号信息
#last_login=$(lastlog)
last_login=$(who|awk '{print $1}'|sort |uniq)
echo "登录服务器的账号信息:${last_login}"
#/etc/passwd
#md5sum /etc/passwd >/opt/passwd.db
#md5sum 校验 -c check --quiet  匹配成功时不打印任何东西
md5sum  -c --quiet /opt/passwd.db 2&>/dev/null
##文件描述符
#2表示标准错误输出!
#1 表示标准输出(电脑屏幕)
#0 表示标准输入(键盘,鼠标)
if [ $? -eq 0 ]; then
	echo "file is ok"
else
	echo "file not ok,please check!"
fi
}
##########################################函数调用
while true
do
	os_check
	network_check
	cpu_check
	mem_check
	disk_check
	secure_check
	sleep 2
done

你可能感兴趣的:(日常巡检的脚本)