场景:
定义一套添加mysql监控的脚本,在mysql安装完毕后,一键执行添加监控
 
已有以下的等一系列命令可以读取mysql从库的延迟时间并推向influxdb,变化的部分为 -P 端口、-k keyname
*/1 * * * * /usr/local/dbmng/bin/conninflux -i slave -P 3302 -jk Seconds_Behind_Master -k wlnew_Seconds_Behind_Master
又有以下命令定时读取mysql的insert次数
*/1 * * * * /usr/local/dbmng/bin/conninflux -i status -P 3302 -pm Com_insert -k wlnew_Com_insert
 
定义一个模板,将具体要执行的命令写入其中
vim /usr/local/dbmng/scripts/mysql_monitor/cron.txt
*/1 * * * * /usr/local/dbmng/bin/conninflux -i slave -P 9999 -jk Seconds_Behind_Master -k keyname_Seconds_Behind_Master
*/1 * * * * /usr/local/dbmng/bin/conninflux -i status -P 9999 -pm Com_insert -k keyname_Com_insert
 
冥等添加自动任务,自动去掉重复的行
vim appendCrontabCmd.sh
#!/bin/bash
if [ $# -lt 2 ]; then
echo "需要输入端口和keyname两个参数"
exit 1
fi
port=$1
keyname=$2
cd /usr/local/dbmng/scripts/mysql_monitor
cp ./cron.txt ./tmp.txt
/usr/bin/sed -i "s/9999/${port}/g" ./tmp.txt
/usr/bin/sed -i "s/keyname/${keyname}/g" ./tmp.txt
cat /var/spool/cron/root >> ./tmp.txt
sort -k2n ./tmp.txt | uniq> /var/spool/cron/root
crontab -l
 
然后就在在自动化部署平台中多次调用脚本而不用担心有重复的自动任务;
sh appendCrontabCmd.sh 3301 test
不管是几十台还是几百台mysql,你每次更新或完善监控时,更新一下模板,然后重复调用一次批量化执行即可。
 

my34_脚本冥等添加自动任务-mysql监控部署的更多相关文章

  1. 可以自动安装mysql数据库的一个shell脚本

    发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...

  2. 用hibernate自动创建mysql表,添加失败org.hibernate.exception.SQLGrammarException

    今天遇到了一个很坑人的问题,从昨晚一直搞到今天早上,终于发现了,先整理下: [背景]:利用hibernate自动给mysql创建一个表,然后为表里面添加一行记录,非常的简单(当然其中还涉及到sprin ...

  3. Linux自动备份MySQL数据库脚本代码

    下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...

  4. .net安装包自动安装Mysql数据库

    原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysq ...

  5. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  6. 在CentOS下自动备份mysql

    在CentOS下自动备份mysql数据库,并差异同步到其它网络主机上 1.在/root/mysql_backup/下添加backup.sh:vim /root/mysql_backup/backup. ...

  7. Linux 每天自动备份mysql数据库的方法

    Linux 每天自动备份mysql数据库的方法 作者: 字体:[增加 减小] 类型:转载   linux下为了安全有时候需要自动备份mysql数据库,下面是具体的实现步骤.   /usr/bin为my ...

  8. LINUX安装SVN+添加自动同步+远程下载最新代码

    LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...

  9. 添加zabbix自动发现(监控多tomcat实例)

    说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...

随机推荐

  1. python 数据清洗

    前言 1. 删除重复 2. 异常值监测 3. 替换 4. 数据映射 5. 数值变量类型化 6. 创建哑变量 统计师的Python日记[第7天:数据清洗(1)] 前言 根据我的Python学习计划: N ...

  2. java调.NET webapi时间戳报错问题

    JAVA时间戳长度是13位,如:1294890876859 PHP .NET时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在.NETPHP中使用,去掉后三位,如:1 ...

  3. monkeyrunner小结

    上次说到已经配好了MonkeyRunner的运行环境,现在讲解怎么进行简单的MonkeyRunner测试.这个拖了很久才有时间和心情总结一下.真是计划赶不上变化啊. 就不说废话了.http://dev ...

  4. hibernate缓存机制(转载)

    缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事 ...

  5. NET Core 简介

    1. 前言 .NET发行至今已经过了十四个年头.随着版本的不断迭代更新,.NET在Windows平台上的表现也是越来越好,可以说Windows平台上所有的应用类型.NET几乎都能完成. 只是成也Win ...

  6. 1. Python2 ,Python3区别

    Python2: 1. 源码都含有PHP,Java,C等语言的规范陋习. 2.重复代码比较多. Python3: 源码很规范,清晰,简单,符合Python的宗旨.

  7. Tiled结合Unity实现瓦片地图——Tiled2Unity篇

    本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢. http://blog.csdn.net/lzhq1982/article/details/75356478 前段时间应公司 ...

  8. 1.css介绍

    CSS介绍 我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样 ...

  9. git 分支同步master最新代码

    查看分支:git branch创建分支:git branch <name>切换分支:git checkout <name>创建+切换分支:git checkout -b < ...

  10. 最后一个 last-of-type

    last-of-type这个比较好点,有时候:last-child 不起作用