iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >SharePlex如何基于Solaris 10 Linux实现自动巡检脚本
  • 514
分享到

SharePlex如何基于Solaris 10 Linux实现自动巡检脚本

2023-06-04 15:06:07 514人浏览 独家记忆
摘要

这篇文章主要介绍SharePlex如何基于Solaris 10 linux实现自动巡检脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.check脚本,可单独执行,也可通过start脚本调用#!/bin/bash

这篇文章主要介绍SharePlex如何基于Solaris 10 linux实现自动巡检脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1.check脚本,可单独执行,也可通过start脚本调用

#!/bin/bash# Created by czh version v1.0# This script was used to check SharePlex Instance health.# This Script was created on RHEL 7.6 PlatfORM and SunsOS 10.5.############################################################################################################################################ #MailUserName='yourname@yourcompany'#if [ "$MailUserName" = "yourname@yourcompany" ]#  then#    echo "Please modify the script so it has a valid email address"#    exit 0#fi############################################################################################################################################# Start Scriptsv_cop=`ps -ef|grep sp_cop|grep -v grep|awk '{print $2}'`v_num_cop=`ps -ef|grep sp_cop|grep -v grep|awk '{print $2}'|wc -l`v_os=`uname -a|awk '{print $1}'`i=1if [ ${v_os} = "SunOS" ];then    while [ $i -le ${v_num_cop} ]    do        v_pid=`echo ${v_cop}|/usr/xpg4/bin/awk -v v_i="${i}" '{print $v_i}'`        v_script_name=`echo $0`        v_dirname=`dirname ${v_script_name}`        SP_SYS_HOST_NAME=`pfiles ${v_pid}|grep sockname|sed -n '$p'|awk '{print $3}'`        SP_PORT=`pfiles $v_pid|grep sockname|sed -n '$p'|awk '{print $5}'`        SP_PRODIR=`ps -ef|grep sp_cop|grep -v grep|grep ${v_pid}|awk '{print $8}'|cut -d '.' -f1|sed 's/\/$//'`        SP_SYS_VARDIR=`pfiles ${v_pid}|sed -n '$p'|sed -n 's/\/rim//p'|tr -d " "`        export SP_SYS_VARDIR        export SP_SYS_HOST_NAME        ${SP_PRODIR}/bin/sp_ctrl > ${v_dirname}/splex_temp.log <<EOF                                         show                                         version full                                         exitEOF        v_sp_version=`cat ${v_dirname}/splex_temp.log|grep -i "Version"`        v_err_count=`egrep -i '(^Stopping|Aborting|Idle|Stopped by user|error)' ${v_dirname}/splex_temp.log |wc -l`            if [ ${v_err_count} -eq 0 ];then                echo -e "\n*********************************************"                echo -e "`date +%A' '%F' '%H:%M:%S`"                echo -e " SharePlex All Process Was Running         "                echo -e "*********************************************"            else                echo -e "\n*********************************************"                echo -e "         !!!     Warnings    !!!"                echo -e " SharePlex Process Has Problems,Please Check!"                echo -e "SharePlex Warnings ${SP_SYS_HOST_NAME}:${SP_PORT} Has Problems." #|mail -s 'SharePlex Warnings!' ${MailUserName}                echo -e "     `date +%A' '%F' '%H:%M:%S`           "                echo -e "*********************************************"            fi        echo -e "\n****************************************************************************************"        echo -e " SharePlex Instance ${SP_PORT} Bind IP Address Is      : ${SP_SYS_HOST_NAME}:${SP_PORT}"        echo -e " SharePlex Product Directory Is                  : ${SP_PRODIR}"        echo -e " SharePlex Version Is                            : ${v_sp_version}"        echo -e " SharePlex Instance Vardir Directory Is          : ${SP_SYS_VARDIR}"        echo -e " SharePlex Instance Cop Process Identifier Is    : ${v_pid}"        echo -e "             `date +%A' '%F' '%H:%M:%S`"        echo -e "****************************************************************************************\n"        i=$(($i+1))    done        rm -f ${v_dirname}/splex_temp.log        echo -e "\n######################################################################################################################"        echo -e "\nFinished check SharePlex instance!"        echo -e "`date +%A' '%F' '%H:%M:%S`\n"        echo -e "######################################################################################################################\n"elif [ ${v_os} = "Linux" ];then    while [ $i -le ${v_num_cop} ]    do        v_pid=`echo ${v_cop}|awk -v v_i="${i}" '{print $v_i}'`        v_script_name=`echo $0`        v_dirname=`dirname ${v_script_name}`        v_sp_ipaddr=`netstat -anp|grep tcp|grep ${v_pid}|awk '{print $4}'`        SP_SYS_HOST_NAME=`echo ${v_sp_ipaddr%:*}`        SP_PORT=`echo ${v_sp_ipaddr##*:}`        SP_PRODIR=`ps -ef|grep sp_cop|grep -v grep|grep ${v_pid}|awk '{print $8}'|cut -d '.' -f1|sed 's/\/$//'`        SP_SYS_VARDIR=`ls -l /proc/${v_pid}/cwd|awk '{print $11}'|sed -n 's/\/dump$//p'`        export SP_SYS_VARDIR        export SP_SYS_HOST_NAME        ${SP_PRODIR}/bin/sp_ctrl > ${v_dirname}/splex_temp.log <<EOF                                         show                                         version full                                         exitEOF        v_sp_version=`cat ${v_dirname}/splex_temp.log|grep -i "Version"`        v_err_count=`egrep -i '(^Stopping|Aborting|Idle|Stopped by user|error)' ${v_dirname}/splex_temp.log |wc -l`            if [ ${v_err_count} -eq 0 ];then                echo -e "\n*********************************************"                echo -e "`date +%A' '%F' '%H:%M:%S`"                echo -e " SharePlex All Process Was Running         "                echo -e "*********************************************"            else                echo -e "\n*********************************************"                echo -e "         !!!     Warnings    !!!"                echo -e " SharePlex Process Has Problems,Please Check!"                echo -e "SharePlex Warnings ${SP_SYS_HOST_NAME}:${SP_PORT} Has Problems."                echo -e "     `date +%A' '%F' '%H:%M:%S`           "                echo -e "*********************************************"            fi        echo -e "\n****************************************************************************************"        echo -e " SharePlex Instance ${SP_PORT} Bind IP Address Is      : ${SP_SYS_HOST_NAME}:${SP_PORT}"        echo -e " SharePlex Product Directory Is                  : ${SP_PRODIR}"        echo -e " SharePlex Version Is                            : ${v_sp_version}"        echo -e " SharePlex Instance Vardir Directory Is          : ${SP_SYS_VARDIR}"        echo -e " SharePlex Instance Cop Process Identifier Is    : ${v_pid}"        echo -e "             `date +%A' '%F' '%H:%M:%S`"        echo -e "****************************************************************************************\n"        i=$(($i+1))    done        rm -f ${v_dirname}/splex_temp.log        echo -e "\n######################################################################################################################"        echo -e "\nFinished check SharePlex instance!"        echo -e "`date +%A' '%F' '%H:%M:%S`\n"        echo -e "######################################################################################################################\n"else    echo "Caution : This Platform Are Not Support,Please Contact The Vendor."fi# End Scripts

2.Start脚本,不可单独执行,需要调用上面check脚本

#!/bin/bash# Created by czh version v1.0# This script was used to check SharePlex Instance health.# This Script was created on RHEL 7.6 Platform.v_log_dir_name=splex_check_logv_num_cop=`ps -ef|grep sp_cop|grep -v grep|awk '{print $2}'|wc -l`  # 统计sp_cop数量if [ ${v_num_cop} -le 0 ];then        # 判断是否存在sp_cop进程,如果不存在,提示并退出执行    echo -e "\n**************************************************************"    echo -e "        !!!No SharePlex Instance,Please Check!!!              "    echo -e "Please Check SharePlex Instance,The Sp_cop Process Not Active!"    echo -e "**************************************************************\n"else    echo -e "\n######################################################################################################################"    echo -e "\nStarting Check"    echo -e "`date +%A' '%F' '%H:%M:%S`\n"    echo -e "######################################################################################################################\n"    while true    do        v_dirname=`dirname $0`             # 通过特殊变量$0取脚本名称,使用dirname取路径,确保下面创建文件在脚本所在路径        if [ -d "${v_dirname}/${v_log_dir_name}" ];then            echo "Notice: splex_check_log directory already exist,will continue."        else            mkdir -p ${v_dirname}/${v_log_dir_name}        fi        interval=1200        log_name=shareplex_check        v_date=`date +%A-%F-%H%M%S`        ${v_dirname}/check_shareplex_health.sh >> ${v_dirname}/${v_log_dir_name}/${log_name}_${v_date}.log &                # 调用check_shareplex_health.sh脚本完成检查        v_dir_size=`du -sk "${v_dirname}/${v_log_dir_name}"/|awk '{print $1}'`        echo ${v_file_size}            if [ ${v_dir_size} -ge 51200 ];then                rm -rf ${v_dirname}/${v_log_dir_name}            fi        sleep ${interval}    donefi

3.Stop脚本

#!/bin/bash# Created by czh version v1.0# This script was used to check SharePlex Instance health.# This Script was created on RHEL 7.6 Platform.kill -9 `ps -ef|grep check_shareplex_health.sh|grep -v grep|awk '{print $2}'` 2>/dev/nullkill -9 `ps -ef|grep start_check.sh|grep -v grep|awk '{print $2}'` 2>/dev/null

4.Readme文件

1.开始检测脚本作用:(1)会在脚本所在目录创建splex_check_log目录(2)用于存放生成的SharePlex_Report_开头的log文件,记录SharePlex实例情况(3)默认间隔20分钟执行一次,可通过修改脚本interval参数更改执行频率(4)会自动删除三天前或者当日志目录超过50M会自动删除目录重建(5)该脚本自动调用目录下check_shareplex_health.sh脚本(6)脚本执行步骤如下chmod u+x start_check.shchmod u+x stop_check.shchmod u+x check_shareplex_health.sh./start_check.sh &2.停止脚本使用如下脚本脚本作用:(1)找出执行脚本进程并执行kill命令./stop_check.sh3.check_shareplex_health.sh脚本说明(1)该脚本为start_check.sh脚本最终调用巡检脚本(2)邮箱发送告警功能默认为注释状态,如果告警发送邮件,则可以编辑check_shareplex_health.sh脚本        a.配置服务器sendmail功能,确保服务器可以发送邮件        b.去掉check_shareplex_health.sh开头邮件部分注释        c.修改MailUserName变量为需要发送邮件地址,并将48行管道符前面注释#去掉,就可以使用邮件功能

以上是“SharePlex如何基于Solaris 10 Linux实现自动巡检脚本”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: SharePlex如何基于Solaris 10 Linux实现自动巡检脚本

本文链接: https://www.lsjlt.com/news/238435.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SharePlex如何基于Solaris 10 Linux实现自动巡检脚本
    这篇文章主要介绍SharePlex如何基于Solaris 10 Linux实现自动巡检脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.check脚本,可单独执行,也可通过start脚本调用#!/bin/bash...
    99+
    2023-06-04
  • shell脚本实现多台服务器自动巡检--可参考学习
    shell脚本实现多台服务器自动巡检 摘要:         运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的C...
    99+
    2023-06-06
  • emule如何实现自动关机脚本
    小编给大家分享一下emule如何实现自动关机脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!dir="E:\Temp" Set&n...
    99+
    2023-06-08
  • 如何实现vtune自动安装脚本
    本篇内容介绍了“如何实现vtune自动安装脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#!/usr/b...
    99+
    2023-06-09
  • 教你如何基于python实现脚本加密
    这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下from pathlib import Pathimport&...
    99+
    2023-06-02
  • centos/rhel如何实现nginx自启动脚本
    这篇文章主要介绍centos/rhel如何实现nginx自启动脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之...
    99+
    2023-06-09
  • 如何实现vtune自动化安装脚本
    本篇内容介绍了“如何实现vtune自动化安装脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#!/usr/...
    99+
    2023-06-09
  • mysql中如何实现自动化脚本安装的shell脚本
    这篇文章将为大家详细讲解有关mysql中如何实现自动化脚本安装的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本处理逻辑流程图    ...
    99+
    2024-04-02
  • mydumper如何实现自动化安装脚本
    这篇文章主要介绍了mydumper如何实现自动化安装脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。#!/usr/bin/expect -fset hname [linde...
    99+
    2023-06-04
  • MySQL如何实现各版本自动安装脚本
    这篇文章主要介绍MySQL如何实现各版本自动安装脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 描述:    1 . 所有版本都...
    99+
    2024-04-02
  • 如何用shell实现自动adsl拨号并检测连接状况脚本
    这篇文章主要介绍“如何用shell实现自动adsl拨号并检测连接状况脚本”,在日常操作中,相信很多人在如何用shell实现自动adsl拨号并检测连接状况脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用...
    99+
    2023-06-09
  • php-fpm如何实现开机自动启动Shell脚本
    小编给大家分享一下php-fpm如何实现开机自动启动Shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!网上有各种版本的php-fpm开机自动启动脚本, ...
    99+
    2023-06-09
  • 如何实现检测网站down掉后自动发信的shell脚本代码
    小编给大家分享一下如何实现检测网站down掉后自动发信的shell脚本代码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:#!/bin/bash#website test scriptswhil...
    99+
    2023-06-09
  • 如何实现CentOS开机自动运行自己的脚本
    这篇文章将为大家详细讲解有关如何实现CentOS开机自动运行自己的脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。操作系统:CentOS-5.2目标:开机自动挂载局域网中windows的共享目录一、ro...
    99+
    2023-06-10
  • 如何利用Python实现自动扫雷小脚本
    小编给大家分享一下如何利用Python实现自动扫雷小脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作1.扫雷游戏我是win10,没有默认的扫雷,所以...
    99+
    2023-06-15
  • git自动化部署php脚本该如何实现
    今天就跟大家聊聊有关git自动化部署php脚本该如何实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。git自动化部署php脚本的实现方法:1、安装git;2、克隆仓库代码;3、更改...
    99+
    2023-06-26
  • 如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源
    这篇文章主要讲解了“如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本实现自动检测修改最快的Ubuntu软件源...
    99+
    2023-06-09
  • 基于python实现微信收红包自动化测试脚本(测试用例)
    测试用例(1)  测试用例(2) 代码如下(python): # coding=utf-8 from appium import webdriver impor...
    99+
    2024-04-02
  • Linux下如何使用Shell脚本实现ftp的自动上传下载
    小编给大家分享一下Linux下如何使用Shell脚本实现ftp的自动上传下载,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. ftp自动登录批量下载文件。代码如下:#####从ftp服务器上的/home/data 到 本...
    99+
    2023-06-09
  • Linux下如何实现Oracle归档日志自动清理脚本代码
    这篇文章主要介绍Linux下如何实现Oracle归档日志自动清理脚本代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码如下:#!/bin/sh export BACK_DATE=`date +%Y%m%d` ex...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作