文章目录
- DevOps Bash Tools:运维脚本合集,覆盖主流云平台和工具
- 具体能干什么
- Bash 环境配置
- 安装方式
- 适合什么人
DevOps Bash Tools:运维脚本合集,覆盖主流云平台和工具
做运维的都知道,日常工作中重复性的命令敲得人头疼。切换 AWS Profile、查 K8s 集群状态、启动一个 PostgreSQL 测试环境,每件事都要记一堆参数。Hari Sekhon 维护的这个 DevOps Bash Tools 仓库,就是把这些琐碎操作封装成了 1000 多个 shell 脚本。
仓库目前 8300 多个 Star,MIT 协议,代码全部开源。作者 Hari Sekhon 是英国的云和大数据工程师,之前在 Cloudera 和 Hortonworks 做过咨询。这个仓库他维护了很多年,脚本覆盖的范围很广。
具体能干什么
脚本按技术领域分了目录,主要覆盖这些方面:
云平台方面,AWS、GCP 的常用操作都有封装。比如aws_profile.sh可以从配置文件里列出所有 Profile 让你选,不用记名字。aws_billing_alarm.sh一条命令就能创建计费告警。GCP 那边也有自动生成资源清单的脚本。
容器和编排,Docker 和 Kubernetes 的脚本数量不少。能快速启动各种数据库的 Docker 沙箱环境,也能查询 DockerHub 和 Quay.io 的 API。K8s 相关的脚本可以做集群管理和自动清点资源。
数据库操作,PostgreSQL、MySQL、MariaDB、SQLite 都有封装。psql.sh和mysql.sh能从环境变量自动推断连接参数,省得每次敲一堆-h-u-p。还能一键启动带示例数据的数据库容器。
CI/CD 集成,支持的 CI 系统很多。Jenkins、GitHub Actions、GitLab CI、CircleCI、Travis CI、Azure DevOps Pipelines 都有对应的配置模板和 API 脚本。
Bash 环境配置
除了独立脚本,这个仓库还带了一套完整的 Bash 环境配置。.bashrc加上.bash.d/目录下的文件,提供了大量别名、函数和环境变量。支持 Linux 和 Mac,覆盖 Git、Docker、Kubernetes、AWS、GCP 等常用工具的 shell 增强。
配置文件里还有自动处理 GPG 和 SSH agent 的逻辑,加密私钥只需要输一次密码,后续自动加载。对经常 SSH 到多台机器的人来说比较实用。
安装方式
最简单的方式是一行命令:
curl -L https://git.io/bash-bootstrap | sh这会自动检测系统类型(Linux 发行版或 Mac),安装依赖包,把配置文件链接到 Home 目录。也可以手动 clone 后执行make,只装依赖不改 shell 配置。
适合什么人
如果你是运维工程师或者 SRE,日常需要管理多台服务器、多个云账号,这些脚本能省不少时间。做 DevOps 的话,CI/CD 那套配置模板可以直接拿来用。
脚本质量不错,作者有 600 多个 CI 构建在持续验证这些代码。ShellCheck 静态分析、多种 Linux 发行版和 Mac 的兼容性测试都在跑。
仓库本身也是学习 shell 编程的好材料,里面的写法比较规范,注释也到位。
在跑。
仓库本身也是学习 shell 编程的好材料,里面的写法比较规范,注释也到位。