使用python Fabric動(dòng)態(tài)修改遠(yuǎn)程機(jī)器hosts的方法
一、關(guān)于fabric
fabric是一個(gè)很強(qiáng)大的包,可以將多機(jī)操作、部署的命令固化到腳本里面,
詳情可參考文檔 http://fabric-chs.readthedocs.io/zh_CN/chs/
二、修改遠(yuǎn)程hosts的方法
如何修改遠(yuǎn)程服務(wù)器的hosts,想到兩個(gè)辦法:
第一個(gè)想到的辦法就是通過命令連接上服務(wù)器,然后使用編輯器vim或者其它打開hosts文件,進(jìn)行編輯;這種辦法有個(gè)明顯的缺點(diǎn)就是腳本操作比較復(fù)雜,需要在腳本里面使用編輯器進(jìn)行操作,同時(shí)還需要?jiǎng)討B(tài)解析已有的hosts,進(jìn)行hosts合并。
第二個(gè)辦法就是采用文件替換的方式,在本地進(jìn)行編輯hosts,編輯好之后,上傳到服務(wù)器,替換已有的hosts文件;這個(gè)方法操作簡(jiǎn)單,腳本執(zhí)行起來也不復(fù)雜,可行性要高很多,當(dāng)然也有個(gè)缺點(diǎn),就是添加hosts的時(shí)候,需要操作者本身對(duì)已有hosts非常清楚。
三、源碼
# encoding=utf-8 from fabric.api import * # 這里配置了hosts信息 env.hosts = ['10.13.131.46', '10.13.135.121', '10.13.133.232'] env.password = "xxxxxxxxxxxxx" env.user = "xiuzhu" env.port = 10022 @task def flush(): sudo('cp /etc/hosts /home/xiuzhu/hosts.bak') put("host1", "/home/xiuzhu/hosts.new") sudo("mv /etc/hosts /etc/hosts.bak") sudo("mv /home/xiuzhu/hosts.new /etc/hosts")
以上這篇使用python Fabric動(dòng)態(tài)修改遠(yuǎn)程機(jī)器hosts的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python查找特定名稱文件并按序號(hào)、文件名分行打印輸出的方法
這篇文章主要介紹了python查找特定名稱文件并按序號(hào)、文件名分行打印輸出的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04跨平臺(tái)python異步回調(diào)機(jī)制實(shí)現(xiàn)和使用方法
這篇文章主要介紹了python異步回調(diào)機(jī)制的實(shí)現(xiàn)方法,提供了使用方法代碼2013-11-11Python實(shí)用技巧之利用元組代替字典并為元組元素命名
這篇文章主要給大家介紹了關(guān)于Python實(shí)用技巧之利用元組代替字典并為元組元素命名的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-07-07Python 列表(List) 的三種遍歷方法實(shí)例 詳解
這篇文章主要介紹了Python 列表(List) 的三種遍歷方法實(shí)例 詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04