码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 生产实用Shell脚本合集


    文章目录

    • 系统维护篇
      • 服务器日常巡检脚本
      • 下线登录用户
      • 企业级Linux日常自动抓取服务器巡检、登录、执行命令记录+备份脚本
      • 终端对话&广播消息
      • 批量查询IP归属地+手机号归属地信息
      • Linux开机后自动执行命令或脚本
      • 一键自动格式化输出SQL+Json语句脚本工具
    • 线上业务篇
      • 运维自动抓包
      • 运维线上业务版本自动回退
      • 自动导出Java堆栈错误日志
      • Docker指定时间段一键过滤容器运行时日志
      • CPU/内存达到阈值重启服务
      • 定时检查服务运行状态并自动恢复宕机服务
      • 一键列出所有容器IP地址脚本
      • 统计Nginx请求成功率等信息脚本
    • 数据库篇
      • MySQL
        • 备份库
          • 全备与增备
          • 忽略表备份
        • 备份表
          • 一键自动备份表数据
          • 一键自动恢复表数据
        • 运维定时刷入SQL
        • 生产数据自动化同步到预生产
      • Binlog2sql
        • 数据同步
        • 数据恢复
        • 数据追踪
      • MongoDB
        • 数据备份&恢复
          • 自动备份
          • 自动恢复
        • 慢日志开启&备份
      • Redis
        • Redis自动保存执行记录脚本
        • Redis一键备份与恢复脚本
    • DevOps篇
      • Harbor
    • 万能工具箱
      • 说明
      • 使用步骤
      • 执行效果

    系统维护篇

    引:企业实战中必备的Shell脚本合集,针对:系统维护、线上业务、数据库、DevOps等多个场景的整理汇总。

    服务器日常巡检脚本

    使用场景:针对Linux服务器每日巡检收集监控数据,如:CPU、内存、硬盘、网络、登录、软件等一系列信息

    企业级Linux日常自动巡检脚本:戳我~

    下线登录用户

    使用场景:针对Linux服务器多用户的管理维护,让运维管理员更加方便地一键强制下线其他在线用户

    一键强制下线用户脚本:戳我~

    企业级Linux日常自动抓取服务器巡检、登录、执行命令记录+备份脚本

    使用场景:针对Linux服务器上系统的巡检日志、用户登录成功/失败记录、执行命令记录记录到日志文件
    自动抓取脚本: 戳我~

    终端对话&广播消息

    场景:针对多个用户登录服务器时,管理员广播消息或用户之间对话时的场景
    教程:终端对话&广播消息教程

    批量查询IP归属地+手机号归属地信息

    场景:业务中需要排查某些IP、手机号归属地信息,甚至有些场景是批量的,浏览器直接批量copy查询的话某些网站还收费,所以写了个脚本,无需进入Windows系统打开浏览器查询,直接再Linux系统内执行脚本批量输入查询即可~
    批量自动查询脚本:戳我~

    Linux开机后自动执行命令或脚本

    场景:针对开机后自动执行命令或脚本
    Linux开机后自动执行命令或脚本:戳我~
    脚本自动化编辑工具:戳我~

    一键自动格式化输出SQL+Json语句脚本工具

    场景:在Linux系统内通过一些命令工具对未格式化输出的数据进行格式化处理:SQL、Json
    一键自动格式化输出SQL+Json语句脚本工具:戳我~

    线上业务篇

    运维自动抓包

    使用场景:基于tcpdump命令写的抓包脚本工具,一键抓取自定义协议、端口、进、出的数据包

    运维自动抓包脚本:戳我~

    运维线上业务版本自动回退

    针对线上业务出现问题或Bug,导致业务不稳定等情况,需要紧急回退上个或上上个版本,业务环境为:Docker

    运维线上业务版本自动回退脚本:戳我~

    自动导出Java堆栈错误日志

    使用场景:针对于线上Docker业务容器启动失败,快速导出业务容器的Java堆栈日志,帮助开发快速定位、解决问题。

    运维自动导出业务容器Java堆栈错误日志脚本:戳我~

    Docker指定时间段一键过滤容器运行时日志

    使用场景:针对容器日志过多时,过滤某个时间、时间段的日志

    Docker指定时间段一键过滤容器运行时日志脚本:戳我~

    CPU/内存达到阈值重启服务

    使用场景:当某个服务经常性占用资源越来越高或偶尔飙高,判断cpu或内存有一项达到90时重启服务并发送钉钉告警,两次判断间隔:10s、20s

    监控脚本:戳我~

    定时检查服务运行状态并自动恢复宕机服务

    使用场景1:服务宕机触发钉钉告警:不自动恢复,针对线上业务(排错)
    使用场景2:服务宕机触发钉钉告警:自动恢复,针对测试业务(快速恢复)

    监控脚本:戳我~

    一键列出所有容器IP地址脚本

    使用场景:在服务器带宽被占用,但不好定位是哪个容器时,通过用此脚本来快速过滤容器名,以便解决问题
    一键列出所有容器IP地址脚本:戳我~

    统计Nginx请求成功率等信息脚本

    使用场景:统计Nginx的访问信息,如请求成功/失败率、当日PV、请求频繁URL/IP/客户端IP的TOP10
    统计脚本:戳我~

    数据库篇

    MySQL

    备份库

    全备与增备

    使用场景:针对数据库的全量和增量备份(mysqldump)

    全备+增备脚本:戳我~

    忽略表备份

    使用场景:针对某个数据库的全备,把一些不想备份的表给忽略掉,同步数据时被忽略的表数据则不会更新

    忽略表备份脚本:戳我~

    备份表

    一键自动备份表数据

    使用场景:针对数据库的单个表备份,一键快速备份表(mysqldump)

    一键自动备份表数据脚本:戳我

    一键自动恢复表数据

    使用场景:针对数据库的单个表恢复,一键快速恢复表(mysql)

    一键自动恢复表数据脚本:戳我

    运维定时刷入SQL

    使用场景:有些时候,运维需要单独执行某些SQL语句,还得是低峰期,为了不半夜爬起来工作,所以就写了个定时自动执行的脚本

    定时刷入SQL脚本:戳我~

    生产数据自动化同步到预生产

    使用场景:基于昨晚的全备,在预生产服务器添加定时执行此脚本,重置数据库、刷入昨晚的全备

    生产数据自动化同步到预生产脚本:戳我~

    Binlog2sql

    实现非主从关系实现数据的【实时同步+恢复误删+数据追踪】

    数据同步

    使用场景:拉取binlog,实时同步到其它数据库实例,达到非主从关系同步的效果
    案例参见:数据同步

    数据恢复

    使用场景:误删数据,主要做紧急恢复
    案例参见:数据恢复

    数据追踪

    使用场景:数据追踪,用来追踪执行详情,如时间/等其他记录
    案例参见:数据追踪

    MongoDB

    数据备份&恢复

    部署参考:Docker搭建Mongdb Replica Set高可用集群+自动备份与恢复脚本

    自动备份

    自动备份脚本:戳我~

    自动恢复

    自动恢复脚本:戳我~

    慢日志开启&备份

    开启慢查询日志:戳我~
    自动恢复脚本:戳我~

    Redis

    Redis自动保存执行记录脚本

    使用场景:将Redis的操作记录实时写入到日志文件并保存(日志按天创建),包含命令行、第三方工具执行的增删改查操作都会记录。
    自动保存执行记录脚本:戳我~

    Redis一键备份与恢复脚本

    使用场景:自动备份Redis数据,并在业务中一键快速恢复Redis数据,提高工作效率!
    Redis一键备份与恢复脚本:戳我~

    DevOps篇

    Harbor

    使用场景:Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间;直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像,需要停止Harbor服务,执行垃圾回收命令,进行存储空间清理和回收
    清理步骤:
    1、web控制台删除无用的镜像构建记录或存储库;
    2、执行自动清理脚本即可;
    自动清理Harbor无用镜像脚本:戳我~

    万能工具箱

    脚本获取地址参见Shell万能工具箱脚本

    说明

    持续更新~
    整合业务中常用的脚本并分类触发,所有功能均基于此文档内的外链脚本

    使用步骤

    1.shell_tools.sh存放到/root/scripts/
    2.将所需功能的脚本逐个新建到/root/scripts/shell_tools/
    3.通过运行/root/scripts/shell_tools.sh来调用/root/scripts/shell_tools/不同脚本,以实现不同功能
    PS:部分功能报错说明:部分不可直接使用的功能需要对应配置环境,参考对应功能的文档配置即可

    执行效果

    230418 163856

  • 相关阅读:
    解决网页 H5 对接微信 JSSDK 后自定义分享和跳转APP等没效果
    Python + Google AI 自动修复 Sonar Bug 实践
    VD6283TX环境光传感器驱动开发(4)----移植闪烁频率代码
    深入浅出文件系统新形态
    【JavaSpring】spring接口-beanfactory和applicationcontext与事件解耦
    Nginx实现高并发原理是什么?该考虑如何优化?
    渠道“动刀”后新款G9驾到,小鹏汽车能否过个好年?
    学习Ant Design Charts的使用——修改案例
    黑马点评-短信登录业务
    copilot 连接问题
  • 原文地址:https://blog.csdn.net/qq_23995091/article/details/127532852
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号