首页 > 其他分享 >通用巡检脚本

通用巡检脚本

时间:2023-05-30 10:45:22浏览次数:58  
标签:脚本 巡检 通用 LOG IP CPU echo LINE CHECK

#CPU、内存、硬盘部分,部分awk取值需要根据实际情况修改
#进程需要选择要关注的进程
#数据库部分,如无巡检备机状态需要,可修改为 mysql -u -p -h [备机ip] 来远程检查
#会在指定位置生成一个当日的.log文件,内部有命令执行的结果部分

1 #!/bin/bash 2 3 . /etc/init.d/functions 4 5 LINE="\e[1;37m+-----------------------------------------------------------------+\e[0m" 6 LOG=/opt/log/`date +%Y%m%d`.log 7 [ -f /opt/log ] || mkdir -p /opt/log 8 9 M="172.31.112.173" 10 S="10.1.193.97" 11 IP=`ifconfig |awk -F '[ :]+' 'NR==10{print $3}'` 12 13 CPU_MEM_DISK(){ 14 echo -e ${LINE} 15 echo -e "CPU、内存、硬盘" 16 17 CPUS=`top -n1|awk -F "," 'NR==3{print $4}'` 18 MEM=`free -m|awk -v OFS="/" 'NR==2{print $2,($3+$7)}'` 19 DISK=`df|awk '{if(NR>1){print $4}}'|sort -nr|tail -n1` 20 DISK2=`df|awk '{if(NR>1){print $5}}'|sort -nr|head -n1` 21 22 top -n1|head -n 4 >> ${LOG} 23 free -m >> ${LOG} 24 df -h >> ${LOG} 25 26 echo -e "CPU 未使用百分比为 ${CPUS} ;\n内存总空间与剩余空间为 {MEN};\n磁盘最小剩余空间为`expr ${DISK} / 1024`M;最高使用率为 ${DISK2}\n" 27 echo -e ${LINE} 28 } 29 30 PORTS_CHECK(){ 31 echo -e ${LINE} 32 echo -e "端口状态:" 33 34 PORTS=" 35 80 36 443 37 22 38 " 39 40 for i in ${PORTS};do 41 netstat -anoplt|grep ${i} >> ${LOG} && action ${i} || action "${i} is not work !!!" /bin/false 42 done 43 } 44 45 PROCESS_CHECK(){ 46 PORCESS=" 47 docker 48 sshd 49 " 50 echo -e ${LINE} 51 echo -e "进程状态:" 52 53 J=0 54 for i in ${PORCESS};do 55 ps -ef |grep ${i}|grep -v grep >> ${LOG} &&action ${i};let J=J+1 ||action ${i} /bin/false 56 done 57 echo -e "目标进程存活${J}个" 58 } 59 60 MYSQL_CHECK(){ 61 echo -e ${LINE} 62 echo -e "数据库主从状态:" 63 64 if [[ ${IP} == ${M} ]];then 65 mysql -uroot -p123456 -e "show master status;" 66 elif [[ ${IP} == ${S} ]];then 67 mysql -uroot -p123456 -e "show slave status\G;" |grep -E "Master_Log_File|Read_Master_Log_Pos|Slave_IO_Running|Last_Err|Seconds_Behind_Master" 68 else 69 echo "IP设置有问题" 70 fi 71 } 72 73 if [[ ${IP} == ${M} ]];then 74 CPU_MEM_DISK 75 PORTS_CHECK 76 PROCESS_CHECK 77 MYSQL_CHECK 78 echo -e ${LINE} 79 elif [[ ${IP} == ${S} ]];then 80 CPU_MEM_DISK 81 MYSQL_CHECK 82 echo -e ${LINE} 83 else 84 echo "未取到设置的IP" 85 fi 86 87 echo -e "\e[?25h" 88 echo -e "\e[?25h" >> ${LOG}
89 echo -e ${LINE} >> ${LOG}

 

标签:脚本,巡检,通用,LOG,IP,CPU,echo,LINE,CHECK
From: https://www.cnblogs.com/zy2271/p/17442586.html

相关文章

  • Shell脚本开发项目
    一、日志文件的备份和还原shell脚本:客户机:1、通过修改配置文件,来实现发送日志到远程服务器 vim/etc/rsyslog.conf*.*@@remote…前面的*服务名称(日志文件)后面的*代表等级@@TCP协议发送写入登录日志的服务 authpriv.*@@192.168.134.130:514(远程服务器的ip和端口)2.临时关闭防火......
  • 基于Expression Lambda表达式树的通用复杂动态查询构建器——《剧透一下》
    前篇《https://www.cnblogs.com/ls0001/p/17437225.html》有大佬在评论里剧透了,这里就来一遍剧透。  通常,前后端分离的系统要在前端查询数据是提交一个带着查询条件参数的表单,比如A=1,B=2,类似样,后端接收到表单需要将这些条件参数拼接成查询需要写代码,并且表单结构通常是不带查......
  • linux运维之bash脚本编程
    算法+数据结构=程序编程语言分类:低级语言:机器语言:二进制码,0、1汇编语言:用一些容易理解和记忆的缩写单词来代替一些特定的指令高级语言:解释型语言:源代码-->编译-->得到二进制可执行文件-->执行eg:PHP、Python、Shell编译型语言:源代码-->执行eg:Java、C、C++、Golang动态编译语言不......
  • Shell脚本实战(一)
    1、前言Shell脚本的语法规则不复杂,在Linux系统很重要,一些操作可以整合成一个shell脚本,节省时间,本文不去讲述shell的语法规则,相关的资料网上很多,只需要多使用即可,此处记录在实际工作中用到shell脚本,积累一些常用的用法,后续也可以参考。2、功能点因为项目原因,c++代码体系非常庞大......
  • EBS: FORM窗体开发使用VIEW模式开发,plsql DEVELOPER 自动生成PLSQL脚本
    FORM窗体开发使用VIEW模式开发,plsqlDEVELOPER自动生成PLSQL脚本,CREATEORREPLACEPACKAGEAPPS.HAND_PLSQL_AUTOCREATEAUTHIDCURRENT_USERAS/*$Header:HDPLSATC.pls115.12004/09/0215:33:09pkmship$*/PROCEDUREregist_table(p_table_nameINVARCHAR2,......
  • 3.4 流水线的通用原理
    流水线化的一个重要特性就是提高了系统的吞吐量,不过会轻微增加延迟。计算流水线在现代逻辑设计中,电路延迟以微微秒或皮秒,也就是10的负12次方秒为单位进行计算。假设将系统执行的计算分为三个阶段,每个阶段需要100ps,然后在每个阶段之间放上流水线寄存器,流水线寄存器的延迟为20ps,这......
  • UE蓝图脚本类结构
    UObjectBaseUObjectBaseUtilityUObjectUSubsystemUDynamicSubsystemUEditorSubsystemUEditorActorSubsystem--SpawnActorFromObjectUObjectBaseUObjectBaseUtilityUObjectUEditorUtilityObjectUActorActionUtilityUActorActionUtility:publicUEditorUtili......
  • ABAP 通用自建表批到
    *&---------------------------------------------------------------------**&ReportZUPLOAD_TABLE*&---------------------------------------------------------------------**&*&------------------------------------------------------------......
  • [20230516]完善spsw.sql脚本.txt
    [20230516]完善spsw.sql脚本.txt--//以前写的spsw.sql脚本通过加入提示,产生好的执行计划(sql_id=good_sql_id),替换有问题的sql语句(bad_sql_id).--//现在遇到一个问题,就是现在的dg可以做只读查询,里面的sql语句没有在主库执行过,我抽取的脚本在sqlplus执行时里面的\r字符给--//......
  • windows nginx.bat cmd 命令脚本,方便windows开发
    @echooffsetROOT=C:\Users\38524\bin\nginx-1.25.0echoyounginxrootpathis:%ROOT%setCMD=%ROOT%\nginx.exeechoyounginxcmdpathis:%CMD%setCONF=%ROOT%\conf\nginx.confechoyounginxconfpathis:%CONF%^@REMforstart@REMecho......