系统巡检工具箱脚本

#!/usr/bin/bash
#by:nekoosu2021@outlook.com
cat << EOF
-----------------------------------------------------------------------
                  Neko系统巡检工具箱  2.0

                                     (\n\n\n");
[a] 查询主机基本信息                ("へ     /|");
[b] 查询本机IP地址                  ("/\7  ∠_/");
[c] 查询本机用户信息                ("/ │   / /");
[d] 查询根分区的剩余容量            ("│ Z _,< /   /`");
[e] 本机剩余信息显示                ("│     ヽ   /  〉");
[f] 直接显示分区                    ("Y     `  /  /");
[g] 显示系统平均负载                ("イ● 、 ●  ⊂⊃〈  /");  
[h] 显示当前系统下用户的个数        ("()  へ    | \〈");
[i] 显示当前缓存大小                (">ー 、_  ィ  │ //");
[j] 显示当前系统时间并且自动对时    ("/ へ   / ノ<| \\");
[k] 下载国内源并自动安装epel源      ("ヽ_ノ  (_/  │//");
[l] 永久关闭防火墙及临时关闭selinux ("7       |/");
[m] 查看当前系统版本                ">―r ̄ ̄'ー―_");
[n] CUP详细负载

[q] 退出                                        by:nekoosu
-----------------------------------------------------------------------
EOF
while :
do
read -p "

请输入字母开始执行: " choice
case $choice in
a|A)
          echo "正在检测.."
          sleep 2
          time=`date +%F-%T`
          echo "现在的时间是: " $time
          echo "当前的主机名称是: " $HOSTNAME
      ;;
b|B)
          echo "正在检测当前环境,请耐心等待..."
          yum -y install net-tools &>/dev/null
          echo "当前主机IP地址为:`ifconfig | grep inet | grep 192 | awk '{print $2}'`"
      ;;
c|C)
          echo "正在检测.."
          sleep 2
          echo "当前的用户是: " $USER
          echo "当前的用户标识是: " $UID
      ;;
d|D)
          echo "正在检测.."
          sleep 2
          tetal=`df | grep / | grep /dev/mapper | awk '{print $3}'`
          residue=`df  | grep / | grep /dev/mapper | awk '{print $2}'`
          result=$((tetal*100/residue))
          residue1=`df -Th  | grep / | grep /dev/mapper | awk '{print $5}'`
          echo "当前主机/分区的百分比使用率为: $result"
          echo "当前主机/分区剩余空间为 $residue1"
      ;;
e|E)
          echo "正在检测.."
          sleep 2
          mem_used=`free -m | grep Mem | awk '{print $3}'`
          mem_total=`free -m | grep Mem | awk '{print $2}'`
          mem_percent=$((mem_used*100/mem_total))
          mem_free=`free -m | grep Mem | awk '{print $4}'`
          echo "当前内存使用百分比使用率为: $mem_percent"
          echo "当前内存剩余: $mem_free"
      ;;
f|F)
          echo "正在检测.."
          sleep 2
          echo "当前系统分区如下:
`df -h`"
      ;;
g|G)      
          echo "正在检测.."
          sleep 2
          url=`w | grep load `
          echo "系统的平均负载为:`echo ${url:45:30}`"
      ;;
h|H)
          echo "正在检测.."
          sleep 2
          echo "当前系统下登录的用户为 `who | wc -l`个"
      ;;
i|I)
          echo "正在检测.."
          sleep 2
          echo "当前系统缓存为 `free -h | grep Mem | awk '{print $4}'`"
          read -p "是否清除缓存 [y/n]: " caches
               if [ ! "${caches}" = "y" ];then
                   echo "用户选择了退出."
                   exit
               fi
                sync
               echo 3 >/proc/sys/vm/drop_caches
               sleep 2
               echo "内存释放成功"
      ;;
j|J)
          time=`date +%F-%T`
          echo "正在进行系统对时,请稍后.."
          yum -y install ntpdate &>/dev/null
          ntpdate -u ntp1.aliyun.com &>/dev/null
          echo "现在的时间是: " $time
      ;;
k|K)
          echo "正在更换国内源及epel源.."
          sleep 1
          read -p "
      =====================================================

      警告:此操作可能会删除本机中的其他源,是否继续 [y/n]: 

      =====================================================
                                                             → " repos 
                   if [ ! "${repos}" = "y" ];then
                   echo "
       用户选择了退出."
                   exit
               fi
                   echo "正在安装源,此操作可能时间较长,请耐心等待..."
               rm -rf /etc/yum.repos.d/* &>/dev/null
               yum clean all &>/dev/null
               curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
               echo "系统源更换完成,epel源正在安装..."
               yum -y remove epel* &>/dev/null
               yum -y install epel-release &>/dev/null
          echo "系统源、epel源安装成功"
      ;;
l|L)
          echo "正在关闭防火墙.."
          sleep 1
          systemctl stop firewalld.service &>/dev/null
          echo "正在关闭防火墙的开机自启.."
          sleep 1
          systemctl disable firewalld &>/dev/null
          echo "正在关闭Selinux.."
          sleep 1
          sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config &>/dev/null
          setenforce 0  &>/dev/null
          echo "防火墙与Selinux已关闭!"
      ;;
m|M)
      echo "当前系统版本为: `cat /etc/redhat-release`"
      ;;
n|N)
      echo "正在安装环境.."
      yum -y install net-tools &>/dev/null
      DATE=$(date +%F" "%H:%M)
      IP=$(ifconfig | grep broadcast |awk '{print $2}')
      if !which vmstat &>/dev/null;then
        echo "vmstst command no found.Please install procps package"
        exit 1
      fi
      US=$(vmstat |awk NR==3'{print $13}')
      SY=$(vmstat |awk NR==3'{print $14}')
      IDLE=$(vmstat |awk NR==3'{print $15}')
      WAIT=$(vmstat |awk NR==3'{print $16}')
      USE=$(($US+$SY))
      if [ $USE -ne 1 ];then
        echo "
Date: $DATE
Host: $IP
Problem: CPU utilization $USE "
       fi	
	;;
q|Q)
          echo "
------------用户选择了退出--------------"
      exit  
      ;;
*)        echo "
输入错误,请按上方字符输入!

"
      
esac
done


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值