实操:Shell 与 Python 自动化
自动化运维与Ansible#实操:Shell#Python自动化约 747 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
编写接收目录参数的备份脚本。
验收:检查输入、权限和空间,生成备份,退出码及失败日志正确。
追问 路径包含空格、目标目录在源目录内或参数为空时如何处理?
编写支持 dry-run 的过期文件清理脚本。
验收:只处理指定白名单路径,预览结果与实际执行一致。
追问 如何处理软链接、路径变化与并发执行?
编写服务健康检查脚本。
验收:区分连接失败、HTTP 错误与业务内容不符合预期,设置超时与退出码。
追问 哪些失败适合重试,哪些失败应直接报告?
给定时脚本增加互斥执行与退出清理。
验收:第二个实例不会重复执行,中断后临时资源按设计释放。
追问 flock 与普通 PID 文件在可靠性上有什么区别?
从访问日志统计热门 URL、状态码和访问来源。
验收:记录输入格式、异常行处理方式与统计结果,使用小样本核对。
追问 请求参数、反向代理和日志轮转如何影响结果?
用 Python 调用带分页的测试 API 并导出结果。
验收:分页完整,认证安全,异常响应、超时和输出编码处理正确。
追问 如何避免重复数据、无限翻页和敏感信息写入日志?
用 Python 并发检查一组主机的端口。
验收:限制并发与超时,按主机汇总结果,部分失败不丢失其他结果。
追问 线程适合此类任务的原因是什么?
用 Python 执行系统命令并返回结构化结果。
验收:输出包含退出码、标准输出和错误信息,超时可处理,不拼接不可信命令。
追问 何时需要 Shell 解释器,如何控制命令注入风险?
编写可恢复的批量任务执行程序。
验收:保存完成与失败状态,中断后可继续,并避免重复副作用。
追问 成功执行但状态未保存时,如何判断是否可以安全重跑?
为一个运维脚本补充异常路径测试与使用文档。
验收:覆盖空输入、权限不足、超时和部分失败,测试使用隔离资源。
追问 哪些检查适合单元测试,哪些必须通过集成或实际环境验证?