自己开发用于生产环境中开发的shell脚本项目
生产服务器跑了4、5千应用程序,运维工作中如何从海量应用中定位到你要应用程序:地址、路径、运行pid、以及程序CMDB
有了鹰眼一键帮你查询你需要的!
bcp复制文件到新目录,新目录若存在同名文件则备份并输出一个回滚脚本;若不存在直接复制。
【需求】:应用程序部署环节 旧的进行备份(cp重命名),新版本进行软链接,同时自动产生版本号&回退脚本
【复杂度】:三星
1.交互式安装keepalived主备配置环境参数
2.标准化开启启动规范
3.最大的特点:具备锁机制,能无缝影响线上生产业务,运行keepalived。
【需求】:生产服务器众多,不仅需要在每台标准化安装主备配置,而且还需要不能影响在运行生产服务(启动过程中不能notify_事件触发现有业务)
【复杂度】:三星
ping_sec 每秒ping不同地址,而且每天生成一份日志文件
【需求】:检测合作伙伴到我司服务器网络通信质量情况的检测
【复杂度】:一星
【需求】:Nagios插件 端口连入数超过区间阀值报警,并提供攻击源Ip
【复杂度】:一星
【技巧】:在正则表达式awk匹配区间里使用端口变量
SchLineManage 检测网络质量情况比较丢包率(通与不通)和返回时间(选出最优)线路,切换iptables映射
【需求】:检测线路网络情况,及时切换线路iptables
【复杂度】:三星
【提升】:Nginx反向代理
【需求】:Nagios插件 本脚本用于检测应用程序或服务运行时间,从侧面来推断程序是否频繁重启或首次启动
【复杂度】:两星
【技巧】:ps数据结果数据存入缓存+ps时间etime min 计算转换
1.遍历整个ps结果,无须挨个添加注册,检查程序的启动时间,判断为是否是首次启动或者频繁重启
【升级】check_sup_proc_uptime.sh 针对supervisor 检测是否重启的插件脚本
【需求】:将rsync与inotify 实时同步一键安装封装包
【复杂度】:两星
【技巧】:
1.自动安装而且帮你配置好配置,你只需要告诉他从哪里同步到哪里
2.带同步实时记录日志
3.自动交互安装,即使你是小白不懂rsync与inotify
4.不仅带过滤监控的文件,而且还有不同步文件的白名单如*.log\*.log.tar.gz
【需求】:将应用程序日志5天前日志压缩打包切移动rsync mv 到日志服务器。
【复杂度】:两星
【技巧】:
1.带指定自定义时间段执行要缩打包(eg:夜间凌晨段,服务器负载小时开始,到早上上班结束,压缩)
2.带同步压缩实时记录日志
3.配置文件方式,定义开关压缩
【需求】:多台主机同时注册开通消息中间件
【复杂度】:三星
【技巧】:
1.一个脚本就可以注册多个ip在消息中间件的注册放行
2.严格的安全参数检查如:ip检查
3.支持数组定义 相同ip同时注册,避免遗漏单个ip
【需求】:根据订单号查询该订单号在不同程序且不同不服务器的日志?
【复杂度】:三星
【技巧】:
1.根据订单号检索多台服务器的日志信息
2.数组定义支持多个服务器地址与日志目录
【需求】:每天都需要登录短信接口,进行短信接口数量趋势分析?
【复杂度】:二星
【技巧】:
1.Python crawl
2.highchart
3.Datables
4.php 下载execl
【需求】:程序pid在线,但怎么才能检查日志成功连上消息中间件?请用此脚本,检查pid同时分析其日志
【复杂度】:二星
【技巧】:
1.检查程序是否启动成功脚本
2.日志文件是否更新,抓取5分钟内倒叙日志逐行分析
3.日志内容是否包含登录成功关键字
4.检测错误关键字
【需求】:Ansible -m setup 能手机facts信息,我们是否能自定义开发模块,来采集定制我们需要的信息
【复杂度】:二星
【技巧】:
1.ansible json.dumps采集输出
2.定义了采集项、采集列表、字典关系协议【支持扩展定义】
【需求】:海量配置文件需要提取相同交接变量,从而在每次新上线是进行相同配置
【复杂度】:一星
【技巧】:
1.sed 变量替换技巧:sed -i "s/\(^ip_WebsiteOrderSrv=\)\S\S*/\1\"$ip_WebsiteOrderSrv\"/" $ops_file
2.定义了变量替换库(配置里的交集) 【支持扩展定义】