1、 需求:每日运维检查脚本dailymonitor.sh显示对服务器测试结果,其中命令

zabbix_get -s 192.168.111.21 -p 10050 -k "net.tcp.listen[3306]直接反馈值为0(异常)和1(正常),显示感觉不直观,考虑使用shell脚本修改显示效果,如显示为:The Server 192.168.111.21 is ok!

2、 脚本内容:

#! /bin/sh

/usr/sbin/clock

Server21=`zabbix_get -s 192.168.109.21 -p 10050 -k "net.tcp.listen[3306]"`

Server20=`zabbix_get -s 192.168.109.20 -p 10050 -k "net.tcp.listen[80]"`

Server25=`zabbix_get -s 192.168.109.25 -p 10050 -k "net.tcp.listen[89]"`

function okbad {

if ( test $1 = 1 ) then

#也可表达为if [ $1 -eq 1];then,注意:“=”号用作赋值时,两端不能有空格;“=”用作判断时,两端必须有空格。

echo ${@:2} is ok !     #注意:因为第二个参数在表达式中有空格,必须以${@:2}的方式进行表达,否则,只能取到表达式的第一个空格前的字符。

else

echo ${@:2} is bad !

fi

}

Server21_name="The Server 192.168.111.21 "

Server20_name="The Server 192.168.111.20 "

Server25_name="The Server 192.168.111.25 "

okbad $Server21 ${Server21_name}

okbad $Server20 ${Server20_name}

okbad $Server25 ${Server25_name}

3、 运行效果:

[root@localhost ~]# sh test.sh

2019年01月25日 星期五 19时54分09秒  -0.892307 秒

The Server 192.168.111.21 is ok !

The Server 192.168.111.20 is ok !

The Server 192.168.111.25 is ok !

Shell编程案例:修改运维脚本输出效果的更多相关文章

  1. 编写一个可复用的SpringBoot应用运维脚本

    前提 作为Java开发者,很多场景下会使用SpringBoot开发Web应用,目前微服务主流SpringCloud全家桶也是基于SpringBoot搭建的.SpringBoot应用部署到服务器上,需要 ...

  2. (二)SpringBoot应用运维脚本

    SpringBoot应用运维脚本 一.获取PID 二.Kill命令 三.nohup命令 四.编写SpringBoot应用运维脚本 4.1全局变量 4.2编写核心方法 4.3Info方法 4.4stat ...

  3. 经典案例复盘——运维专家讲述如何实现K8S落地

    经典案例复盘——运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量 ...

  4. python常用运维脚本实例

    转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 ...

  5. 转:python常用运维脚本实例

    python常用运维脚本实例 转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...

  6. python常用运维脚本实例【转】

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  7. sql server自动化运维脚本

    数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些 ...

  8. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  9. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

随机推荐

  1. 2-JVM内存模型

    内存模型 方法区 JDK1.7 之前包含1.7 将方法区称为 Perm Space 永久代 JDK1.8之后包含1.8 将方法区称为 MetaSpace 元空间. 堆(分配内存会大一些) 分配对象.n ...

  2. LTE基站开局流程脚本的具体含义

    1.全局参数配置MOD ENODEB(修改基站): ENODEBID=2015(基站标识2015), NAME="安职-1"(基站名称), ENBTYPE=DBS3900_LTE( ...

  3. 201771010113 李婷华 《面向对象程序设计(Java)》第十七周总结

    一.理论知识部分 Java 的线程调度采用优先级策略:优先级高的先执行,优先级低的后执行:多线程系统会自动为每个线程分配一个优先级,缺省时,继承其父类的优先级: 任务紧急的线程,其优先级较高: 同优先 ...

  4. RabbitMQ的轮询模式和公平分发

    一.常用的消息模式 我们在工作的使用中,经常会遇到多个消费者监听同一个队列的情况,模型如下图所示: 当有多个消费者时,我们的消息会被哪个消费者消费呢,我们又该如何均衡消费者消费信息的多少呢: 主要有两 ...

  5. pycharm中的TODO注释用法

    pycharm 中可以在# 后面加TODO提示自己后续的开发动作. 点击pycharm又下角的小标签,会弹出一个列表,选择TODO选项. 进入TODO选项,可以看见所以设置的TODO,选择一个TODO ...

  6. MySQL基础总结(三)

    ORDER BY排序 ORDER BY默认是ASC(升序),降序是DESC LIMIT限制查询结果显示条数 LIMIT显示条数 LIMIT偏移量,显示条数 到目前为止有关查询数据的操作(DQL) 更新 ...

  7. [hdu5379 Mahjong tree]dfs计数

    题意:给n个节点的树编号1-n,一个节点唯一对应一种编号,要求编完号的树满足如下性质:所有节点的儿子的编号是连续的,对一棵子树,它包含的所有节点的编号也是连续的.连续的意思是把所有数排序后是一段连续的 ...

  8. Spring Cloud 系列之 Bus 消息总线

    什么是消息总线 消息代理中间件构建一个共用的消息主题让所有微服务实例订阅,当该消息主题产生消息时会被所有微服务实例监听和消费. 消息代理又是什么?消息代理是一个消息验证.传输.路由的架构模式,主要用来 ...

  9. 分布式项目配置工程,在项目间互通要先在linux下开启zookeeper

    一.编写配置文件 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http: ...

  10. Amaze UI学习笔记——JS学习历程一

    1.自定义事件 (1)一些组件提供了自定义事件,命名方式为{事件名称}.{组件名称}.amui,用户可以查看组件文档了解.使用这些事件,如: $('#myAlert').on('close.alert ...