千家信息网

如何使用Fabric实现自动化运维

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍如何使用Fabric实现自动化运维,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!开始使用Fabric来实现几个简单的、重复性的操作,如登录服务器、执行命令和上传
千家信息网最后更新 2026年11月03日如何使用Fabric实现自动化运维

这篇文章主要介绍如何使用Fabric实现自动化运维,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

开始使用Fabric来实现几个简单的、重复性的操作,如登录服务器、执行命令和上传文件。

from fabric import Connection

import traceback

class FabricUtils:

def __init__(self, host:"服务器IP", userName:"用户名", password:"密码"):

self.host = host

self.userName = userName

self.password = password

print(self.userName + "@" + self.host, {"password": self.password})

#初始化ssh链接对象;

def initClient(self):

self.con = Connection(self.userName + "@" + self.host, connect_kwargs={"password": self.password})

#执行shell命令;

def runCommand(self, sshCommand:"Linux命令行语句"):

#top命令尚未测试通过;

#如果命令行中包含路径,最好使用绝对路径;

try:

result = self.con.run(sshCommand, hide=True)

if result.return_code == 0:# 返回码,0表示正确执行,1表示错误

return True, result.stdout

return result.failed, result.stdout

except:

exp = traceback.format_exc()

if "Command: 'mkdir" in exp and 'File exists' in exp:

print("目录【", sshCommand, "】已存在")

else:

print(exp)

return False, exp

#切换到某一目录

def cd(self, dir):

return self.con.cd(dir)

#上传文件

def put(self, src:"待上传的文件全路径。路径中最好不要有空格等特殊字符", org:"保存到服务器上的目录"):

return self.con.put(src, org)

if __name__ == '__main__':

fabricu = FabricUtils("服务器IP", "服务器登录用户名", "服务器登录密码")

fabricu.initClient()

print(fabricu.runCommand("tar -zxvf /home/Crawler/WeChatSouGouMain.tar.gz -C /home/Crawler/"))

上面代码尚存上下文无关的问题,如cd方法,执行后切换到某个目录下,但是如果再执行put方法上传文件。

如果org参数使用相对路径,则不是以切换后的目录为参照。如:

fabricu.cd("/home/crawler")

fabricu.runCommand("tar -zxvf /home/Crawler/WeChatSouGouMain.tar.gz -C ./")

执行完上述的两段代码以后,文件WeChatSouGouMain.tar.gz并不是上传到/home/crawler目录下,二十在当前用户的根目录下

以上是"如何使用Fabric实现自动化运维"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

服务器 目录 服务 命令 文件 路径 用户 切换 登录 自动化 代码 内容 密码 方法 最好 用户名 篇文章 特殊 上下 上下文 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西安纸贵互联网科技有限公司 中国互联网科技股 安徽鑫晟辉互联网科技 电子科技大学互联网 互联网科技美容 互联网公司科技股 黑科技闪耀互联网之光 互联网科技与大数据专业 如何创新互联网科技 中国互联网公司排名锤子科技 洛阳共同富裕互联网科技有限公司 工业互联网展湾科技股份有限公司 互联网科技圈年度人物 2021互联网科技公司排名 广州富喜互联网络科技 珠海东科互联网科技有限公司 互联网高科技行业有哪些企业 中国互联网公司的科技投入 盐城市攀科互联网科技有限公司 互联网科技大佬云集 喔噻互联网科技有限公司 云之行互联网科技 科技金融是不是互联网金融 互联网与未来科技 亿策互联网科技 润盈互联网科技 中科明德北京互联网科技 科技互联网公司两年变化 三亚科技创新互联网基地 互联网科技创新方面的资料
0