Shell编程案例:修改运维脚本输出效果
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编程案例:修改运维脚本输出效果的更多相关文章
- 编写一个可复用的SpringBoot应用运维脚本
前提 作为Java开发者,很多场景下会使用SpringBoot开发Web应用,目前微服务主流SpringCloud全家桶也是基于SpringBoot搭建的.SpringBoot应用部署到服务器上,需要 ...
- (二)SpringBoot应用运维脚本
SpringBoot应用运维脚本 一.获取PID 二.Kill命令 三.nohup命令 四.编写SpringBoot应用运维脚本 4.1全局变量 4.2编写核心方法 4.3Info方法 4.4stat ...
- 经典案例复盘——运维专家讲述如何实现K8S落地
经典案例复盘——运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量 ...
- python常用运维脚本实例
转载 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 ...
- 转:python常用运维脚本实例
python常用运维脚本实例 转载 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...
- python常用运维脚本实例【转】
file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...
- sql server自动化运维脚本
数据库运维中盛传一个小段子,我误删除了数据库,改怎么办?有备份还原备份,没有备份就准备简历!听起来有趣但发生在谁身上,谁都笑不起来.接触了很多的客户发现90%客户的运维策略都不是很完善.本篇就分享一些 ...
- 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 ...
- linux上安装shell编辑器与linux运维面试题
分两个部分 一.安装B-shell解释器 安装cygwin Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...
随机推荐
- spring mvc 中使用session
举例:用户登录成功之后,把用户对象放置到session中 第一步,用户登录成功之后把用户对象首先放到Model中 第二步,要在控制器上加SessionAttributes注解,把放到model中的对象 ...
- mybatis与hibernate运行流程比较
hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...
- 郭天祥TX-1C+DS12C887实现电子日历和闹钟
经过几天时间,看着DS12C887的DataSheet把这个带闹钟的电子日历遍了出来. 发现了几个问题,在此记录一下: DS12C887虽然说带闰年.星期等等的自动计算,可是在手工设置时间时,居然可以 ...
- 【HBase】HBase基本介绍和基础架构
目录 基本介绍 概述 特点 HBase和Hadoop的关系 RDBMS与HBase的对比 特征 基础架构 基本介绍 概述 HBase是bigtable的开源java版本,是建立在HDFS之上,提供高可 ...
- pyhanlp安装成功,import导入失败,出现:importerror: cannot import name 'jvmnotfoundexception'
1.问题描述: pyhanlp成功安装,并且可以正常使用,但是这段时间再去用的时候,发现出问题了,一运行就出现,下面的问题: importerror: cannot import name 'jvmn ...
- nginx源码安装方法
nginx源码安装方法 安装方法如下 1.安装nginx必要的源码依赖软件包. yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zli ...
- DevOps vs. Agile:它们有什么共同点?
DevOps与Agile有很多不同,但它们之间仍可发现很多共同点,这篇文章为读者揭晓. DevOps和Agile之间有着明显的关系.Agile是方法论,Scrum是框架,并DevOps随着看板也落在了 ...
- java ->IO流_commons类
commons-IO 导入classpath 加入classpath的第三方jar包内的class文件才能在项目中使用 1.创建lib文件夹 2.将commons-io.jar拷贝到lib文件夹 3. ...
- React实践debug:JSX输出的限制(存疑)
今天在练习React构建组件的时候遇到一个问题. 由于文档中反复提倡将组件尽可能按功能单位分解复用.在练习用React做一个todolist时候,我把todolist分解成两部分: class Tod ...
- 【Django】rest_framework 序列化自定义替换返回值
# 序列化设置 class PagerSerialiser(serializers.ModelSerializer): name = serializers.CharField(source=&quo ...