通用脚本
文章平均质量分 59
kaifly
一个“技术扎实,球风朴实”的技术流球员
展开
-
shell脚本批量监控Linux server配置文件的更改
某些情况下,自己或同事修改了某处系统设置,但由此所引发的问题可能一段时间以后才会暴露,由于记不清之前改过哪些文件、改了哪些内容,解决问题时可能走弯路。于是写了一个小脚本以特定频率来监控常见系统配置文件,如发生变化,则邮件通知管理员。这里小发散一下,笔者习惯在内网单独弄一台server,给予其免秘钥登录所有服务器额权限,以便批量管理server。并且统计好一个文本文件,以”web1-x.x.x.x“每原创 2016-10-19 10:38:33 · 1287 阅读 · 0 评论 -
LNMP自动部署脚本
我们的业务使用了nginx、mysql、php、和tomcat,写了一个自动化安装这些软件的脚本,虽然网上类似的自动安装脚本很多,但这个是自己写的,特此mark一下,希望能给别人一些参考,同时也灰常欢迎看到的朋友们提些改进意见。话不多说,直接上脚本。#!/bin/sh alias echo='echo -e' ###判断系统,此脚本只适用于64位系统 machine=`una原创 2016-10-19 11:15:48 · 2254 阅读 · 2 评论 -
nagios 流量监控和报警的shell脚本
上下文:我们平台的监控系统用的是cacti+nagios。之前没有加流量异常报警设置,cacti上到是有插件可以时间报警,但是无法使用我们自己的短信接口(nagios用的购买的短信接口),所以想自己写一个脚本配合nagios实现基本的流量异常报警。脚本思路:/proc/net/dev取出当前流经网卡的(接收和发送)的kb总数量,在检测间隔时间后再次读取这两个值, 相减既是间隔时间段内的增量,再根据原创 2016-10-19 16:54:44 · 1702 阅读 · 0 评论 -
利用shell脚本“综合、集中”查看linux server常用软硬件信息
作为运维人员,了解每台服务器的硬件相关信息以及系统相关配置是必不可少的工作。虽然不难,却很零散,信息集中度不高。故而做了做了一套集中展示以上信息的“平台”(其实谈不上平台,收集-整理-展示而已),其原理由一台“监控机”(暂且这么叫吧)运行主脚本,根据记录服务器IP的文件循环处理每台server;配合“被监控机”上的两个awk文件(awk规则),将信息统一收集到“监控机”然后由web server进行原创 2016-10-19 17:22:25 · 2035 阅读 · 0 评论 -
基于pt-query-digest的慢查询日志持续追踪
percona-toolkit被称为MySQL DBA的“瑞士*”,其强大性不言而喻。而其中的慢查询分析工具“pt-query-digest”相比官方的“mysqldumpslow”提供了很多额外的属性,例如灵活的过滤器,基于库和表的分析排序等等。今天分享一例基于“pt-query-digest”和邮件自动追踪MySQL慢查询日志的小脚本,同时避免对同类型的sql语句重复提示。直接上脚本(只要安装了原创 2016-10-19 22:56:40 · 1544 阅读 · 0 评论 -
记一次APP和DB间流量异常问题的排查
情景通过zabbix监控发现有一个应用和数据库之间存在不定时的流量异常(也不频繁),具体为应用server的入向流量和数据库server的出向流量会有短时间(通常在一分钟左右)的激增,甚至快达到千兆网卡的传输上限。分析过程通过症状,几乎可以断定是由于某些sql语句需要返回大量数据导致。但这次问题的分析结果确是很不顺利(其中有我前期方法不当的原因)。初次分析:因为在那之前做了一个针对于故障/异常分析的原创 2017-03-19 15:00:29 · 1532 阅读 · 1 评论 -
linux查看本机到某特定ip的流量--思路一例
在我之前的文章中分享过“实时”查看Linux某些网卡流量的小脚本查看Linux某些网卡流量的小脚本,今天再分享一个查看本机到具体某个ip间的流量的思路。我有这个需求是因为:我们的存储是Dell存储设备通过nfs协议供多台业务机挂载使用,而我有必要了解每台机器和Dell存储之间的流量。其实,如果仅仅是要看这个流量,iftop这个软件就很好,通过其自身的选项就能满足了,不需要再做什么额外的工作。我的情况原创 2016-08-18 22:30:57 · 7639 阅读 · 0 评论 -
Python实现跨平台运维小神器
(本文已不再同步更新,最新代码请移步github)这阵子一直在学python,碰巧最近想把线上服务器环境做一些规范化/统一化,于是便萌生了用python写一个小工具的冲动。就功能方面来说,基本上是在“重复造轮子”吧,但是当我用这小工具完成了30多台服务器从系统层面到应用层面的一些规范化工作之后,觉得效果还不算那么low(高手可忽略这句话~~),这才敢拿出来跟小伙伴们分享一下。(注:笔者所用为pyt...原创 2016-08-10 11:59:19 · 6940 阅读 · 3 评论 -
Python+Mongodb实现web日志分析
日志分析在web系统中故障排查、性能分析方面有着非常重要的作用。目前,开源的ELK系统是成熟且功能强大的选择。但是部署及学习成本亦然不低,这里我实现了一个方法上相对简单(但准确度是有保证的)的实现。先说一下我想实现这个功能的驱动力(或者痛点)吧: 我们有不少站点,前边有CDN,走到源站的访问总量日均PV约4000w。下面是我们经常面临一些问题:CDN回源异常,可能导致我们源站流量和负载都面临较大原创 2016-12-03 12:25:02 · 9980 阅读 · 25 评论 -
基于git+rsync的代码--备份/上线/回滚--脚本一例
简单分享下我们之前的采用的基于git的开发上线流程,以及所采用的的上线脚本。流程是个大问题,这里只简单说下只能希望是抛砖引玉了;上线脚本是本文“重点”。之所以想分享这套脚本,因为个人感觉这套脚本提供了一种目录间“备份–更新–回滚”的实现思路,对其中的细节稍作修改,应该可以适用到其他地方。这一篇算是改进版,之前是一个项目一个脚本,其实里面逻辑基本一致,只是由于项目标准化度不够,导致无法统一管理。后来经原创 2016-10-18 23:27:06 · 4735 阅读 · 0 评论 -
Python实现MySQL DBA小工具一例
我们知道MySQL所有的运行状态统计信息都能从“show global status”语句的结果集中查看,该结果集保存的是从MySQL启动到当前时间之间各状态值的“总数”,对我们的分析不友好。在我们日常维护和优化中,我们需要持续的跟踪某些状态值的的变化(增量或者是平均值);或者是在调整某些参数后,观察某些状态值的变化是否符合我们预期等等。 基于以上这些需求,作者用Python实现了一个小工具原创 2016-10-23 18:53:47 · 1370 阅读 · 0 评论 -
查看Linux服务器网卡流量小脚本shell和Python各一例
有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡)。脚本中都用了while true“死循环”,每隔10s从“/proc/net/dev”中取一次值并根据10s内的差值计算10s内的平均带宽;按ctrl+c停止执行。脚本兼容centos6和7两个脚本都不太复杂,而且脚本中注释也比较细原创 2016-10-18 22:16:32 · 2641 阅读 · 0 评论 -
逻辑/物理(增量)--两套MySQL备份脚本
数据备份其重要性无需多言,再细想一步,我们至少需要两种备份:一种逻辑备份(mysqldump生成sql文件);一种物理备份(xtrabackup可很好完成)。逻辑备份在出问题时能提供更细粒度的恢复和对比;物理备份在整库范围的数据恢复或者增加从库方面有着更高的效率。 首先看下逻辑备份脚本,比较简单#!/bin/sh###每天运行一次###定义用户 密码 备份目录等信息user=my原创 2016-10-18 21:51:00 · 2288 阅读 · 0 评论