shell 日常系统巡检脚本

日常用到的比如我们的:

1.系统信息

2.网络信息

3.硬件信息

4.内存信息

5.磁盘信息

6.安全信息

脚本如下:
#!/bin/bash
os_check(){
#系统信息
	#1.操作类型
	os_type=$(uname)
	echo "操作系统的类型是${os_type}"
	#2.操作系统的版本号
	os_ver=$(cat /etc/redhat-release)
	echo "操作系统的版本号是${os_ver}"
	#3.操作系统的内核版本
	os_ker=$(uname -r)
	echo "操作系统的内核版本是${os_ker}"
	#4.当前运行时间
	os_time=$(date +%F-%T)
	echo "当前运行的时间是${os_time}"
	#5.服务器最后重启的时间
	os_reboot_time=$(uptime |awk '{print $3}' |awk -F ',' '{print $1}')
	echo "最后重启的时间为${os_reboot_time}"
	os_hostname=$(hostname)
	echo "主机名为${os_hostname}"
}
net_check(){
#网络信息
	#1.IP地址
	net_ip=$(ifconfig ens33 |sed -n '2p' |awk '{print $2}')
	echo "本机的IP地址是${net_ip}"
	#2.验证服务器是否有网
	ping -c 1 www.baidu.com > /dev/null
	if [ $? -eq 0 ];then 
		echo "IP 地址 YES"
	else
		echo "IP 地址 NO"
	fi
	#3.获取指定网卡的流量输入、输出
	net_RX=$(ifconfig ens33 |awk '/RX/' |sed -n '1p' |awk '{print $6,$7}')
	echo "输入的流量是${net_RX}"
	net_TX=$(ifconfig ens33 |awk '/TX/' |sed -n '1p' |awk '{print $6,$7}')
	echo "输出的流量是${net_TX}"
}

cpu_check(){
#硬件信息
	
	#1.cpu的物理个数
	cpu_count=$(cat /proc/cpuinfo | grep "physical id" |sort |uniq |wc -l)
	echo "cpu的物理个数是${cpu_count}"
	#2.cpu的核心数
	cpu_cory=$(cat /proc/cpuinfo | grep "core id" |sort |uniq  |wc -l)
	echo "cpu的核心数是${cpu_cory}"
	#3.cpu的型号
	cpu_model=$(cat /proc/cpuinfo | grep "model name" |sort |uniq |awk -F ':' '{print $2}')
	echo "cpu的型号是${cpu_model}"
}

mem_check(){
#内存信息
	#1.内存总大小
	mem_totl=$(free -h | awk '/Mem/{print $2}')
	echo "内存总大小为${mem_totl}"
	#2.内存已用大小
	mem_used=$(free -h | awk '/Mem/{print $3}')
	echo "内存已用${mem_used}"
	#3.内存剩余大小
	mem_free=$(free -h | awk '/Mem/{print $4}')
	echo "内存剩余${mem_free}"
	#4.内存剩余百分比
	percent_free=$(free |awk '/Mem/{printf "%.2f",$4/$2*100}')
	echo "内存剩余${percent_free}%"
	#5.内存使用百分比
	percent_free=$(free |awk '/Mem/{printf "%.2f",$3/$2*100}')
	echo "内存使用${percent_free}%"
}

disk_check(){
#磁盘信息
	#1.磁盘总大小
	disk_sum=$(lsblk |awk '/disk/{print $4}')
	echo "磁盘总大小为 ${disk_sum}"	
	#2.磁盘剩余大小
	disk_free=($(df -T | grep -v "tmpfs"|sed 1d |awk '{print $5}'))
	sum=0
	for i in ${disk_free[@]}
	do
		let sum=sum+$i
	done
		a=$[sum/1024/1024]
		echo "磁盘剩余$a"G
}
#安全信息
aq_check(){
	#1.通过md5sum 生成校验码,判断文件内容是否有被改动
	[ -f /opt/md5sum ] || md5sum /var/www/html/* > /opt/md5sum
	md5sum -c /opt/md5sum > /dev/null
	if [ $? -eq 0 ];then
		echo "web目录下的文件内容没有发生改变"
		rm -rf /opt/md5sum
	else
		echo "文件内容被篡改,小心被黑"
	fi
	#2.判断web目录下得文件数是否有改动
	[ -f /opt/a ] || find /var/www/html/ -type f > /opt/a
	[ -f /opt/b ] || find /var/www/html/ -type f > /opt/b
	diff /opt/a /opt/b > /dev/null
	if [ $? -eq 0 ];then
		echo "web目录下的文件数量没有发生改变"
	else
		echo "web目录下的文件数量发生改变,请小心"
	fi	
}

#定义一个初始值
summ=0
#死循环
while :
do
	#累加
	let summ++
	echo -e "\033[31m 系统信息 \033[0m"
	os_check
	echo -e "\033[31m 网络信息 \033[0m"
	net_check
	echo -e "\033[31m 硬件信息 \033[0m"
	cpu_check
	echo -e "\033[31m 内存信息 \033[0m"
	mem_check
	echo -e "\033[31m 磁盘信息 \033[0m"
	disk_check
	echo -e "\033[31m 安全信息 \033[0m"
	aq_check
	#沉睡三秒
	sleep 3	
	#判断循环三次自动退出
	if [ $summ -eq 3  ];then
		exit
	fi		
done




  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值