写运维脚本的几个习惯
让脚本可读、可重跑、出问题能查。
运维脚本写多了会发现,能不能跑通是一回事,半年后还敢不敢改是另一回事。几个让脚本更耐用的习惯。
默认不破坏数据
危险操作先 dry-run,输出"将要做什么",加参数才真正执行。脚本里删除、覆盖的地方尽量少,能归档就不删。
可重入
中途失败再跑一遍不能出错。比如创建目录用 mkdir -p,下载前判断文件是否已存在,写入用临时文件再原子替换。
错误要显式处理
Shell 脚本开头加 set -euo pipefail,Python 里别用裸 except。失败就退出,不要带着错误状态继续往下跑。
日志和退出码
关键步骤打日志,退出码区分不同失败原因。这样定时任务失败时,看日志就知道卡在哪一步。
好的运维脚本不是写给人看的,是写给"半年后的自己"看的。