」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Python與Excel動態風險更新技巧

Python與Excel動態風險更新技巧

發佈於2025-04-18
瀏覽:496

[2 使用Python和Excel的動態風險更新”

Dynamic Risk-Based Updates Using Python and Excel在此博客中,我們將使用一個簡單的Ansible Server Update腳本,並將其轉變為基於風險的更新系統

。在這裡,風險最低的服務器首先要修補,使我們有機會在進行更高優先級系統之前進行徹底測試。

Ansible自動化:

使用Python和Excel的基於動態風險的更新”

主機文件
  • 動態主機列表
    • 為什麼不使用hosts文件?
    • 秘密調味料?設置定義明確的組,使該流程無縫。但是真正的問題是:我們可以在上次對我們的Ansible腳本進行重大更改的情況下實現這一目標嗎?讓我們找出答案!
    • 主機文件
  • 主機文件是此更改的核心。在上一篇文章中,我們使用了由服務器類型分組的靜態文件。現在,我們通過風險級別添加了第二層分組 - 這確實為主機文件添加了一些複雜性。
,但這是扭曲:如果我們的主機文件可以從更通用的源動態生成,該怎麼辦?這將使事情保持靈活性,並使我們免於無盡的文件編輯!

動態主機列表

Ansible可以與動態創建的主機文件一起使用,這為我們提供了一種更靈活的方法來跟踪服務器。在此示例中,我們將使用Excel文件來組織我們的主機。

[2

主機名

服務器環境

ansible用戶

服務器類型
dns 筆記薄荷 dev Richard 桌面 desktop.sebostech.local [2 ansible_node dev ansible_admin ansible ansible_node.sebostech.local 開發服務器;僅更新月度 clone_master dev ansible_admin 複製 clone.dev.sebostech.local 開發服務器;僅更新月度 mele Richard NAS PBS 測試服務器;用於應用程序測試 pve 生產根 hypervisor 測試服務器;用於應用程序測試 Richard 防火牆 ##這將再次運行所有主機 ansible -playbook -i dynamic_inventory.py playbook.yml ##僅生產 server_environment =“生產” ansible -playbook -i dynamic_inventory.py playbook.yml- limit“ high:web” ##只是nas server_type =“ nas” ansible -playbook -i dynamic_inventory.py playbook.yml- limit“ high:web” ##生產NAS server_environment =“生產” server_type =“ nas” ansible -playbook -i dynamic_inventory.py playbook.yml- limit“ high:web” 需要新組?只需更新Excel文件,然後將python腳本相應地調整! 您可以使用傳統的主機文件實現這一目標嗎?確定但有一些缺點。 使用主機文件,您可能最終會獲得重複的條目或其他變量,以捕獲所需的所有結構。另一方面,Excel文件提供了一個乾淨,易於維護的結構,可以使事物井井有條。
[2 測試服務器;用於應用程序測試
生產 備份服務器
[2 生產
NAS 批判服務器;需要每日備份 防火牆 生產 Richard
firewall.sebostech.local 批判服務器;需要每日備份 大多數IT部門已經在Excel文件中藏有服務器列表,那麼為什麼不充分利用它呢?這種方法使我們可以輕鬆地保持我們的宿主有組織和最新,而無需持續的手動更新。 但是,Ansible如何使用Excel文件?讓我們研究如何將這些數據轉換為可用的動態庫存!
您還可以根據服務器環境,服務器類型,甚至兩者的組合使用環境變量選項來定位特定組: 查看python代碼,請參閱此處。 為什麼不使用主機文件? 剛開始使用Ansible時,主機文件是我的首選。但是,當我添加了更多的服務器,尤其是具有雙重角色的服務器時,該文件越來越複雜。
在公司環境中,很有可能至少有一個帶有服務器列表的Excel文件,所以為什麼不利用它?
如果您希望我深入研究Python代碼,請讓我知道!

版本聲明 本文轉載於:https://dev.to/sebos/dynamic-risk-based-updates-using-python-and-excel-dcp?1如有侵犯,請聯繫[email protected]刪除
最新教學 更多>
  • CSS強類型語言解析
    CSS強類型語言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    程式設計 發佈於2025-05-05
  • 如何在Chrome中居中選擇框文本?
    如何在Chrome中居中選擇框文本?
    選擇框的文本對齊:局部chrome-inly-ly-ly-lyly solument 您可能希望將文本中心集中在選擇框中,以獲取優化的原因或提高可訪問性。但是,在CSS中的選擇元素中手動添加一個文本 - 對屬性可能無法正常工作。 初始嘗試 state)</option> < o...
    程式設計 發佈於2025-05-05
  • 在Oracle SQL中如何提取下劃線前的子字符串?
    在Oracle SQL中如何提取下劃線前的子字符串?
    [ 在oracle sql 解決方案: Explanation:SUBSTR function extracts a substring starting from the specified position (0) and continuing for a specified length.IN...
    程式設計 發佈於2025-05-05
  • Java中如何使用觀察者模式實現自定義事件?
    Java中如何使用觀察者模式實現自定義事件?
    在Java 中創建自定義事件的自定義事件在許多編程場景中都是無關緊要的,使組件能夠基於特定的觸發器相互通信。本文旨在解決以下內容:問題語句我們如何在Java中實現自定義事件以促進基於特定事件的對象之間的交互,定義了管理訂閱者的類界面。 以下代碼片段演示瞭如何使用觀察者模式創建自定義事件: args...
    程式設計 發佈於2025-05-05
  • 如何在php中使用捲髮發送原始帖子請求?
    如何在php中使用捲髮發送原始帖子請求?
    如何使用php 創建請求來發送原始帖子請求,開始使用curl_init()開始初始化curl session。然後,配置以下選項: curlopt_url:請求 [要發送的原始數據指定內容類型,為原始的帖子請求指定身體的內容類型很重要。在這種情況下,它是文本/平原。要執行此操作,請使用包含以下標頭...
    程式設計 發佈於2025-05-05
  • 如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    程式設計 發佈於2025-05-05
  • 如何在其容器中為DIV創建平滑的左右CSS動畫?
    如何在其容器中為DIV創建平滑的左右CSS動畫?
    通用CSS動畫,用於左右運動 ,我們將探索創建一個通用的CSS動畫,以向左和右移動DIV,從而到達其容器的邊緣。該動畫可以應用於具有絕對定位的任何div,無論其未知長度如何。 問題:使用左直接導致瞬時消失 更加流暢的解決方案:混合轉換和左 [並實現平穩的,線性的運動,我們介紹了線性的轉換。...
    程式設計 發佈於2025-05-05
  • 如何高效地在一個事務中插入數據到多個MySQL表?
    如何高效地在一個事務中插入數據到多個MySQL表?
    mySQL插入到多個表中,該數據可能會產生意外的結果。雖然似乎有多個查詢可以解決問題,但將從用戶表的自動信息ID與配置文件表的手動用戶ID相關聯提出了挑戰。 使用Transactions和last_insert_id() 插入用戶(用戶名,密碼)值('test','tes...
    程式設計 發佈於2025-05-05
  • 如何檢查對像是否具有Python中的特定屬性?
    如何檢查對像是否具有Python中的特定屬性?
    方法來確定對象屬性存在尋求一種方法來驗證對像中特定屬性的存在。考慮以下示例,其中嘗試訪問不確定屬性會引起錯誤: >>> a = someClass() >>> A.property Trackback(最近的最新電話): 文件“ ”,第1行, AttributeError: SomeClass...
    程式設計 發佈於2025-05-05
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-05-05
  • 如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    從python import codecs import codecs import codecs 導入 text = codecs.decode('這狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#帶有...
    程式設計 發佈於2025-05-05
  • 如何在Java的全屏獨家模式下處理用戶輸入?
    如何在Java的全屏獨家模式下處理用戶輸入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    程式設計 發佈於2025-05-05
  • 如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解決方案:的,請訪問量很大,並應為procectiquiestate的,並在整個代碼上正確格式不多: java.text.simpledateformat; 導入java.util.calendar; 導入java...
    程式設計 發佈於2025-05-05
  • Java開發者如何保護數據庫憑證免受反編譯?
    Java開發者如何保護數據庫憑證免受反編譯?
    在java 在單獨的配置文件保護數據庫憑證的最有效方法中存儲憑據是將它們存儲在單獨的配置文件中。該文件可以在運行時加載,從而使登錄數據從編譯的二進製文件中遠離。 使用prevereness class import java.util.prefs.preferences; 公共類示例{ 首選...
    程式設計 發佈於2025-05-05
  • 為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    查詢模式實現缺失:解決“無法找到”錯誤在Silverlight應用程序中,嘗試使用LINQ建立LINQ連接以錯誤而實現的數據庫”,無法找到查詢模式的實現。”當省略LINQ名稱空間或查詢類型缺少IEnumerable 實現時,通常會發生此錯誤。 解決問題來驗證該類型的質量是至關重要的。在此特定實例...
    程式設計 發佈於2025-05-05

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3