linux系统资源检测脚本,Linux系统资源及账户安全监测脚本

#!/bin/bash

#Created by liter on 2014/7/11

PATH=/opt/jdk1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

export PATH

#CPU INFO

id_cpu=`top -b -d 2 -n 10 | grep Cpu | grep -v grep | cut -d ',' -f 4 | tr -d -c '0-9.\n' | sort -n | head -n 1`

use_cpu=`echo "100-$id_cpu" | bc`

echo -e "\e[32m******************************************************* \e[0m"

echo -e "\e[1;42m CPU INFO \e[0m"

echo -e "if($id_cpu<=20) print \"CPU has been used in \e[31m$use_cpu%, more than 80%\e[0m\n\" else print \"CPU has been used in \e[31m$use_cpu%, less than 80%\e[0m\n\"" | bc

echo -e "\e[32m******************************************************* \e[0m"

#MEM INFO

total_mem=`free -m | grep Mem | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 2`

used_mem=`free -m | grep Mem | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 3`

free_mem=`free -m | grep Mem | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 4`

buffers_mem=`free -m | grep Mem | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 6`

cached_mem=`free -m | grep Mem | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 7`

numerator=$[ $used_mem - $buffers_mem - $cached_mem ]

float=`echo "scale=2;$numerator/$total_mem" | bc`

int_float=`echo "$float * 100" | bc`

echo -e "\e[1;42m MEM INFO \e[0m"

echo "total_mem is $total_mem M"

echo "used_mem is $used_mem M"

echo "true_used_mem is $numerator M"

echo "buffers_mem is $buffers_mem M"

echo "cached_mem is $cached_mem M"

echo -e "if($int_float>=80) print \"MEM has been used in \e[31m$int_float%, more than 80%\e[0m\n\" else print \"MEM has been used in \e[31m$int_float%, less than 80%\e[0m\n\"" | bc

echo -e "\e[32m******************************************************* \e[0m"

#SWAP INFO

echo -e "\e[1;42m SWAP INFO \e[0m"

total_swap=`free -m | grep Swap | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 2`

if [ $total_swap -eq 0 ];then

echo -e "\e[31mswap is unavailable\e[0m"

else

used_swap=`free -m | grep Swap | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 3`

free_swap=`free -m | grep Swap | tr -d -c '0-9 \n' | tr -s ' ' | cut -d ' ' -f 4`

float_swap=`echo "scale=2;$used_swap/$total_swap" | bc`

echo "total_swap is $total_swap M"

echo "used_swap is $used_swap M"

percentage_swap=`echo "float_swap * 100" | bc`

echo -e "SWAP has been used in \e[31m$percentage_swap%\e[0m"

fi

echo -e "\e[32m******************************************************* \e[0m"

#DISK INFO

echo -e "\e[1;42m DISK INFO \e[0m"

df -Th

echo -e "\e[32m******************************************************* \e[0m"

#PASSWD TABLE

echo -e "\e[1;42m PASSWORD TABLE INFO \e[0m"

passwd="/root/.passwd"

if [ ! -f "$passwd" ];then

cp /etc/passwd /root/.passwd

chattr +i /root/.passwd

fi

diff /root/.passwd /etc/passwd

if [ $? -eq 0 ];then

echo -e "\e[31m/etc/passwd have no change\e[0m"

else

echo -e "\e[31m/etc/passwd maybe changed\e[0m"

fi

echo -e "\e[32m******************************************************* \e[0m"

运行示例(cpu,内存,swap,磁盘,密码表信息):

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值