场景:
定义一套添加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. .NET开源MSSQL、Redis监控产品Opserver之MSSQL配置

    MSSQL的配置比较简单,主要包括三部分: 默认配置(defaultConnectionString).集群配置(clusters).单实例配置(instances) defaultConnectio ...

  2. javascript总结30 :DOM事件

    事件: 1 在js中可以说一整套事件能完成一个功能: 事件的定义:当什么时候执行什么事: 使用事件的基本结构:事件源+事件类型=执行的指令 2 事件三要素:事件源 事件类型, 驱动程序(匿名函数). ...

  3. 认证服务号Thinkphp微信支付

    公众号配置 1.微信支付过程中需要获取用户的openid,所以,仍需填写 网页授权域名 2.微信支付授权目录  Thinkphp目录格式为www.xxx.cn/home/wxpay/ 这里目录不能填写 ...

  4. java TimeZone类

    TimeZone类主要是对时区的操作 下面是一个简单的例子 public static void main(String[] args) { // TODO Auto-generated method ...

  5. SQLServer学习-- Microsoft SQL Server 2008 Management Studio Express

    Microsoft SQL Server 2008 Management Studio Express is a free, integrated environment for accessing, ...

  6. 公司web安全等级提升

    目录 背景介绍 目录 针对国调的初次测试结果 解决方案 二次测试 关于XSS 什么是XSS 基本防御 代码防御 xss代码辑录 说明 参考文章 版本记录 背景介绍 公司的一个web数据展示系统,本来是 ...

  7. 开源SLAM

    GitHub 上优秀的开源SLAM repo (更新中):https://www.jianshu.com/p/464ca0d0c254 当前的开源SLAM方案:https://www.cnblogs. ...

  8. hadoop之MapReduce学习

    为什么需要MapReduce 进行分析数据,计算方便和复用性强:而且是文件级别的 进程包括三个 mrappmaster:负责整个程序管理 maptask:负责map阶段的整个过程 reducemask ...

  9. webstorm的debug模式

    F7 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内, 如果该方法体还有方法,则不会进入该内嵌的方法中 * F8 在 Debug 模式下,进入下一步,如果当前行断点是 ...

  10. iOS AppStore个人开发者账号申请

    一.申请Apple Developer账号 1.注册App ID 1.打开苹果开发者网页,选择Account,注册Apple ID.   2.填写注册信息 3.地区选择China,填写好验证码,点击C ...