使用python Fabric动态修改远程机器hosts的方法


Posted in Python onOctober 26, 2018

一、关于fabric

fabric是一个很强大的包,可以将多机操作、部署的命令固化到脚本里面,

详情可参考文档 http://fabric-chs.readthedocs.io/zh_CN/chs/

二、修改远程hosts的方法

如何修改远程服务器的hosts,想到两个办法:

第一个想到的办法就是通过命令连接上服务器,然后使用编辑器vim或者其它打开hosts文件,进行编辑;这种办法有个明显的缺点就是脚本操作比较复杂,需要在脚本里面使用编辑器进行操作,同时还需要动态解析已有的hosts,进行hosts合并。

第二个办法就是采用文件替换的方式,在本地进行编辑hosts,编辑好之后,上传到服务器,替换已有的hosts文件;这个方法操作简单,脚本执行起来也不复杂,可行性要高很多,当然也有个缺点,就是添加hosts的时候,需要操作者本身对已有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动态修改远程机器hosts的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现数据库编程方法详解
Jun 09 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
selenium+python自动化测试之多窗口切换
Jan 23 Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 Python
python使用 cx_Oracle 模块进行查询操作示例
Nov 28 Python
pytorch 实现在测试的时候启用dropout
May 27 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
python单元测试之pytest的使用
Jun 07 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
python 处理string到hex脚本的方法
Oct 26 #Python
python3 unicode列表转换为中文的实例
Oct 26 #Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 #Python
Python之两种模式的生产者消费者模型详解
Oct 26 #Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
Oct 26 #Python
Python批处理更改文件名os.rename的方法
Oct 26 #Python
浅谈django rest jwt vue 跨域问题
Oct 26 #Python
You might like
php实现将上传word文件转为html的方法
2015/06/03 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
vue获取验证码倒计时组件
2019/08/26 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Python 如何测试文件是否存在
2020/07/31 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
志愿服务心得体会
2016/01/15 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
python中pycryto实现数据加密
2022/04/29 Python
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技