使用Fabric模块编写的批量同步文件的python脚本
来源:互联网 发布:mac快捷键的图形符号 编辑:程序博客网 时间:2024/05/16 11:05
在进行运维管理时,经常会遇到批量同步文件的场景,有关这个场景我们可以使用fabric模块编写python脚本来实现。 有关fabric的安装与介绍,我前面的头条文章都有讲,大家有兴趣可以想前看看。运维工具之轻量级自动化运维工具Fabric源码安装 ,还有:Linux轻量级自动化运维工具Fabric命令行入口fab基本使用。
脚本模拟的是同步多台服务器的/etc/hosts文件的内容。
首先,先查看该服务器的/etc/hosts文件内容:
要同步该内容的客户机,需要确保这两台服务器时可以通过网络连通的。
然后在知道要远程控制的多台服务器的IP和登录密码,使用fabric模块进行批量化操作。
在编写脚本时,先将有关模块进行调用。
from fabric.api import *from fabric.colors import *from fabric.context_managers import *# fabric.context_managers 是Fabric上下文管理器,这里使用是因为下面会用到with
定义有关变量,需要说明的是,这里我只在hosts中放置了一个元素,具体可以放置多个IP,以达到批量操作的目的:
env.user = 'root'env.hosts = ['192.168.0.114']env.password = 'redhatpassword'
定义同步的函数,调用fabric的相关方法:
def put_hosts_file(): print yellow("rsync /etc/hosts File") with settings(warn_only = True): #出现异常时继续执行,不终止 put("/etc/hosts", "/etc/hosts") #put表示上传本地文件到远程主机 print green("rsync file success!")
最后使用循环调用函数就可以了:
for host in env.hosts:env.host_string = hostput_hosts_file()
运行脚本后,在192.168.0.114上进行查看/etc/hosts文件是否一致。
表示已经同步成功。最后将脚本的完整版贴给大家。
阅读全文
0 0
- 使用Fabric模块编写的批量同步文件的python脚本
- 利用python fabric模块写的批量操作远程主机脚本(命令执行,上传、下载文件)
- 使用python编写批量卸载android应用的脚本
- Python下Fabric的使用
- python批量运维fabric模块
- python脚本初探---新手如何直接编写一个hello world模块即可执行的.py文件
- python脚本的编写和需要的模块
- 扩展Python__在python脚本中使用其他语言(c/c++/java/c#)编写的模块
- 怎样编写python脚本的C扩展模块
- python fabric 库的学习使用
- 批量修改cvs下面所有Root文件的python脚本
- Python脚本批量删除特定后缀名的文件
- 一个批量转换文件编码的python脚本
- 使用python批量修改文件的后缀
- 批量SCP文件的脚本
- python fabric模块
- Python编写shell脚本中常用的文件介绍
- python监控脚本的编写
- 笑谈热拔插,扎心修电脑
- AtCodr Non-decreasing_锻炼思维的好题
- Centos7中安装maven3.5.0
- js正则表达式
- Zookeeper学习(九):ZooKeeper 实现分布式锁
- 使用Fabric模块编写的批量同步文件的python脚本
- 子网掩码,如255.255.255.0\24, 24代表什么?
- 设计模式--代理模式
- Spark语法
- python——简便而优雅的语言
- PAT乙级1063. 计算谱半径(20)
- Triangle
- 网络编程
- markdown公式