用shell脚本实现企业日常巡检

#!/bin/bash

function system(){
echo "##########系统信息##########"
OS_TYPE=uname
OS_VER=cat /etc/redhat-release
OS_KER=uname -a|awk ‘{print $3}‘
OSTIME=`date +%F%T<br/>OS_RUN_TIME=uptime |awk ‘{print $3}‘|awk -F, ‘{print $1}‘<br/>OS_LAST_REBOOT_TIME=who -b|awk ‘{print $2,$3}‘<br/>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"
}
function network(){

echo "############网络信息############"
INTERNET=(ifconfig|grep ens|awk -F: ‘{print $1}‘)
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
}

function hardware(){

echo "##########硬件信息##########"
CPUID=grep "physical id" /proc/cpuinfo |sort|uniq|wc -l
CPUCORES=grep "cores" /proc/cpuinfo|sort|uniq|awk -F: ‘{print $2}‘
CPUMODE=grep "model name" /proc/cpuinfo|sort|uniq|awk -F: ‘{print $2}‘

echo " CPU数量: $CPUID"
echo " CPU核心:$CPUCORES"
echo " CPU型号:$CPUMODE"

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"
}

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
}

function chksys(){
system
network
hardware
secure
}

原文地址:https://blog.51cto.com/14241151/2365817

时间: 2024-11-25 01:50:38

用shell脚本实现企业日常巡检的相关文章

shell脚本实现机房服务器巡检(初步)

前言: C语言有一定功底的同学能很快上手linux下的shell脚本应用.以下脚本以应用ping以检测机房机架上个服务器的连通性.并配以必要的注解 新建一个shell脚本的简单流程: #vim filename.sh            新建并编辑脚本 #chmod +x filename.sh       赋予脚本文件执行权限 #./filename.sh              执行脚本 例子: ping.sh #!/bin/bash   #    PING() {           

企业日常巡检shell脚本

Linux内部查看系统信息 $INTERNET192忽略 1 #!/bin/bash 2 3 function system(){ 4 echo "#########################系统信息#########################" 5 OS_TYPE=`uname` 6 OS_VER=`cat /etc/redhat-release` 7 OS_KER=`uname -a|awk '{print $3}'` 8 OS_TIME=`date +%F_%T` 9

shell脚本实现企业微信报警

function sendmsg() { CorpID="ww3c6298264d839e2f"Secret="YvyMQpMRIoXtdQRWo0RNkMBTZnHWKvBwC3ILkyuCsKQ"agentid=1000002 GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"Gtoken=$(/usr/bin/cu

Linux Shell脚本攻略(1.2)

1.2 终端打印 终端是交互式工具,用户可以通过它与shell环境进行交互.在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务.通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的. echo终端打印 echo "Welcome to Bash" echo 'Welcome to Bash' echo Welcome to Bash 以上三种方法的效果是一样的,输出内容都是"Welcome to Bash",并在末尾添加换行符.在默认情

SHELL脚本生产案例集锦

1.LVS客户端自动配置#/bin/bashVIP=(202.106.195.111 202.106.195.222)[ -e /etc/sysctl.conf ]&&rm -f /etc/sysctl.conf[ -e /etc/sysconfig/network-scripts/ifcfg-lo:0 ]&&rm -f /etc/sysconfig/network-scripts/ifcfg-lo:0[ -e /etc/sysconfig/network-scripts/

Linux/hp unix/AIX日常巡检脚本(转)

以下为Linux/hp unix/AIX日常巡检脚本,大家可以参考着进行改写,用于自己的服务器. #!/usr/bin/ksh syserrdate=`date +"%m/%d"`errcount=0STATUS=HOSTS=`hostname`SCRIPT=`basename $0`REPORT="/tmp/report.txt" #FS percentFILESYSTEM_CHECK() {FS=`df -k|sed '1d'|awk 'sub("%&

小黑的日常折腾-网段在线地址扫描shell脚本

学习Linux已经一个月了,不知不觉shell脚本的基本用法已经学习完了,为了检验自己的学习情况,在清明小长假期间花了点时间折腾出了这个脚本.该作品只是练手之作,如果有BUG,请留言指明,我会尽力完善. 该脚本需要用户给定两个参数,第一个参数是网段的起始ip地址,第二个参数是网段的结束ip地址.起始地址的ip地址最后一段必须是1,如192.168.0.1,结束ip地址的最后一位必须是254,如192.168.10.254.另外,起始和结束ip地址的第一段必须相同. 注意: 1.地址范围越大运行程

日常使用的shell脚本

1.shell实现无密码登陆 host=$1 expect << EOF         spawn ssh-copy-id $host         expect "password:"         send "123456\r" expect eof EOF 2.一个节点分类的shell脚本 network="eth0" host1=`uname -n` base=`uname -n|cut -c 1-3` id1=`una

shell脚本——日常练手

1.猜数小游戏 关键点:命令写法 1.$RANDOM 的使用格式 2.反引号 用于执行命令 3.let 整数自加1的用法 4.引用局部变量,${ }格式 5.elif 后面也要跟 ;then #!/bin/bash #*************猜数游戏************* i=0 #记录猜数次数 num2=`echo $RANDOM | cut -c 1-2` #目标数指定随机值 while true #死循环 do read -p "请输入两位整数:" num1 #输入竞猜初始