电脑版
首页

搜索 繁体

27 Python 批量更新 nginx 配置文件

热门小说推荐

最近更新小说

工作需要检查线上所有服务器 ngxin 的 host 配置,是否都添加禁止访问目录中带 /.svn/ 和以 tar.gz、tar、zip、等结尾 url,如果没有则添加,由于线上 Nginx 服务器将近百台,每台的 nginx 配置至少 10 几个,手工检查太慢了,本人也不想浪费太多时间做这些无用功。故用 python 写了一个检测脚本。来完成这些无聊事情。

想用 python 完成这些事情,思路大概为:先备份每台服务器原来的配置,然后遍历每台服务器内所有 host 配置,正则匹配 host 配置看是否已经添加相关配置,如有则跳过,遇到有但不全或没有的则在对应的位置上插入相应的配置。除文本插入时我遇到一个问题外,其他比较简单。因为 python 目前没有对文本进行插入操作的模块。整个插入过程需要自己一步一步实现。

当时我考虑文本插入思路:把原配置文件载入内存,正则找到要插入的位置,以此中心把原文件分成两部分,开辟新内存空间按顺序先存放第一部内容,然后存放出插入的内容,然后存放第二部内容。最后 flush 到硬盘。即通俗说法把原配置根据正则进行重定向。

我了解实现这种重定向有两个方法,第一种: 打开原文件,根据规则重定向到新建的文件上。第二种:使用 fileinput 对原文件重定向。

Loading...

未加载完,尝试【刷新】or【退出阅读模式】or【关闭广告屏蔽】。

尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!

移动流量偶尔打不开,可以切换电信、联通、Wifi。

收藏网址:www.ziyungong.cc

(>人<;)