# 脚本-运维 **Repository Path**: scenetech/script---operations ## Basic Information - **Project Name**: 脚本-运维 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-12 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 运维脚本库 这是一个运维脚本库项目,供运维同事在不同项目中远程调用脚本,从而优化或解决现场服务器的运维问题。 ## 项目概述 本项目包含常用的运维脚本,主要针对 Docker 和 Kubernetes 环境,同时也包含系统级的运维脚本。所有脚本都经过精心设计,包含错误处理、日志输出和详细的使用文档。 ## 项目结构 ``` script---operations/ ├── README.md # 项目总览和使用说明 ├── scripts/ # 脚本目录 │ ├── docker/ # Docker 相关脚本 │ │ ├── cleanup_images.sh # 清理未使用的镜像 │ │ ├── container_logs.sh # 查看容器日志 │ │ ├── container_stats.sh # 容器资源统计 │ │ ├── prune_system.sh # Docker 系统清理 │ │ └── health_check.sh # Docker 健康检查 │ ├── kubernetes/ # Kubernetes 相关脚本 │ │ ├── pod_logs.sh # 查看 Pod 日志 │ │ ├── pod_status.sh # Pod 状态检查 │ │ ├── resource_cleanup.sh # 资源清理 │ │ ├── scale_deployment.sh # 扩缩容部署 │ │ └── node_check.sh # 节点健康检查 │ └── system/ # 系统级脚本 │ ├── disk_cleanup.sh # 磁盘清理 │ ├── memory_check.sh # 内存检查 │ └── network_check.sh # 网络检查 └── docs/ # 文档目录 ├── docker/ # Docker 脚本文档 ├── kubernetes/ # Kubernetes 脚本文档 └── system/ # 系统脚本文档 ``` ## 快速开始 ### 1. 克隆项目 ```bash git clone cd script---operations ``` ### 2. 设置执行权限 ```bash chmod +x scripts/**/*.sh ``` ### 3. 使用脚本 每个脚本都有详细的使用文档,可以通过 `--help` 参数查看帮助信息: ```bash ./scripts/docker/cleanup_images.sh --help ``` ## 脚本分类 ### Docker 脚本 | 脚本 | 功能 | 文档 | |------|------|------| | `cleanup_images.sh` | 清理未使用的 Docker 镜像和容器 | [文档](docs/docker/cleanup_images.md) | | `container_logs.sh` | 查看指定容器的日志 | [文档](docs/docker/container_logs.md) | | `container_stats.sh` | 实时监控容器资源使用情况 | [文档](docs/docker/container_stats.md) | | `prune_system.sh` | Docker 系统级清理 | [文档](docs/docker/prune_system.md) | | `health_check.sh` | 检查 Docker 服务状态和容器健康状态 | [文档](docs/docker/health_check.md) | ### Kubernetes 脚本 | 脚本 | 功能 | 文档 | |------|------|------| | `pod_logs.sh` | 查看 Pod 日志 | [文档](docs/kubernetes/pod_logs.md) | | `pod_status.sh` | 检查 Pod 状态和重启次数 | [文档](docs/kubernetes/pod_status.md) | | `resource_cleanup.sh` | 清理失败的 Pod、未使用的资源 | [文档](docs/kubernetes/resource_cleanup.md) | | `scale_deployment.sh` | 扩缩容 Deployment/StatefulSet | [文档](docs/kubernetes/scale_deployment.md) | | `node_check.sh` | 检查 K8s 节点状态和资源使用 | [文档](docs/kubernetes/node_check.md) | ### 系统脚本 | 脚本 | 功能 | 文档 | |------|------|------| | `disk_cleanup.sh` | 清理磁盘空间(日志、临时文件等) | [文档](docs/system/disk_cleanup.md) | | `memory_check.sh` | 检查内存使用情况 | [文档](docs/system/memory_check.md) | | `network_check.sh` | 网络连通性检查 | [文档](docs/system/network_check.md) | ## 使用示例 ### Docker 示例 ```bash # 查看容器日志 ./scripts/docker/container_logs.sh my-container -f # 清理未使用的镜像(模拟运行) ./scripts/docker/cleanup_images.sh --dry-run # 检查 Docker 健康状态 ./scripts/docker/health_check.sh -a ``` ### Kubernetes 示例 ```bash # 查看 Pod 日志 ./scripts/kubernetes/pod_logs.sh my-pod -n production -f # 检查 Pod 状态 ./scripts/kubernetes/pod_status.sh -a # 扩缩容 Deployment ./scripts/kubernetes/scale_deployment.sh deployment my-app 5 -n production ``` ### 系统示例 ```bash # 检查内存使用情况 ./scripts/system/memory_check.sh -t 20 # 清理磁盘空间(模拟运行) ./scripts/system/disk_cleanup.sh --dry-run # 检查网络连通性 ./scripts/system/network_check.sh -a ``` ## 远程调用 脚本设计为可独立运行,便于远程调用。可以通过以下方式远程执行: ### SSH 远程执行 ```bash ssh user@remote-server "bash -s" < scripts/docker/health_check.sh ``` ### Ansible 调用 ```yaml - name: Check Docker health shell: | cd /path/to/script---operations ./scripts/docker/health_check.sh -a ``` ### 通过 API 调用(需要额外封装) 可以将脚本封装为 API 服务,通过 HTTP 接口调用。 ## 依赖要求 ### 通用依赖 - Bash 4.0+ - 基本的 Unix 工具(grep, awk, sed 等) ### Docker 脚本依赖 - Docker CLI - Docker 服务运行中 ### Kubernetes 脚本依赖 - kubectl - 集群访问权限 - jq(部分脚本需要) ### 系统脚本依赖 - Linux 系统 - 相应的系统工具(free, df, ping 等) - bc(部分功能需要) ## 最佳实践 1. **先模拟运行**:使用 `--dry-run` 参数预览操作结果 2. **查看文档**:每个脚本都有详细文档,使用前请先阅读 3. **权限检查**:某些操作需要 root 权限,注意权限要求 4. **备份数据**:清理操作前请确保重要数据已备份 5. **测试环境**:建议先在测试环境验证脚本功能 ## 贡献指南 欢迎贡献新的脚本和改进现有脚本。贡献时请注意: 1. 遵循现有的代码风格 2. 添加详细的文档 3. 包含错误处理 4. 添加使用示例 5. 更新 README.md ## 后续扩展计划 - [ ] 添加更多 Docker/K8s 运维场景脚本 - [ ] 支持配置文件管理 - [ ] 添加脚本执行结果上报功能 - [ ] 支持脚本组合执行(工作流) - [ ] 添加脚本执行历史记录 - [ ] 支持多环境配置 ## 许可证 本项目采用 MIT 许可证。 ## 联系方式 如有问题或建议,请联系运维团队。