当运维任务超出简短 Shell 管道的能力,并需要结构化数据、可复用逻辑或可靠错误处理时,Python 是自然的下一步。本实践课程只使用 Python 3 及其标准库,教你构建小型 Linux 自动化工具。
你将执行系统命令、管理目录树、转换 JSON 配置,并在不安装第三方包的情况下完成带超时的 HTTP 检查。最终挑战会把这些技能组合成本地健康检查脚本,将磁盘使用情况和 Web 服务状态记录为机器可读的 JSON 报告。
你将学到什么
- 使用 Python 3 REPL,并编写检查 Linux 平台信息的脚本
- 使用
subprocess.run执行命令、捕获并解码输出,以及处理非零退出状态 - 创建目录和文件,使用
shutil移动或复制项目,并通过os.walk遍历目录树 - 按扩展名筛选文件,并在更改配置数据前创建备份
- 将 JSON 载入 Python 字典、修改值,并使用
json.dump写出易读 JSON - 使用
urllib.request检查 HTTP 状态、设置超时,并区分 HTTP 错误与连接失败 - 构建具备异常处理的健康检查脚本,将磁盘和本机服务结果写入
/tmp/health_report.json
本课程适合谁
本课程适合希望在工具箱中加入可维护 Python 自动化的 DevOps 学习者、系统管理员和 Bash 用户。
前置要求: 熟悉 Linux 终端和文件系统基础;无需 Python 编程经验。
学习环境: 可通过浏览器访问的 Linux 终端,配有 Python 3、Bash、nano、标准 Linux 命令、用于连通性检查的本地 HTTP 服务和 Python 标准库;无需安装软件包或使用云账户。
常见问题
课程需要 Requests 等第三方 Python 包吗?
不需要。所有练习都使用 Python 标准库,包括 subprocess、os、shutil、json 和 urllib;网络实验特意使用 urllib.request 而不是 Requests。
这是一门通用 Python 编程课程吗?
不是。课程只介绍完成特定运维任务所需的 Python 语法与控制流程,不涵盖类、打包、Web 框架、测试框架或更广泛的应用开发。
文件操作实验会修改重要系统文件吗?
不会。你会在项目目录中创建可丢弃的 test_env 目录树,并对其中的示例文件练习重命名、移动、复制、遍历和筛选。
最终健康检查实际监控什么?
脚本会运行 df -h,检查 http://localhost 是否返回 HTTP 200,把磁盘输出和 online 或 offline 服务状态放入字典,再将有效且带缩进的 JSON 写入 /tmp/health_report.json。它是本地脚本,并非部署好的监控平台。



