電腦版
首頁

搜尋 繁體

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谷歌瀏覽器】開啟並收藏!

移動流量偶爾打不開,可以切換電信、聯通網路。

收藏網址:www.peakbooks.cc

(>人<;)