Python编程:fabric实现SSH远程管理服务器

举报
彭世瑜 发表于 2021/08/14 00:20:23 2021/08/14
【摘要】 fabric 可以很轻松的实现 SSH链接 安装 pip install fabric 1 查看版本 $ fab --version Fabric 2.4.0 Paramiko 2.4.1 Invoke 1.2.0 1234 脚本运行 # 执行本机命令 import os os.system("echo 'hi'") # 执行远程命令 from fabr...

fabric 可以很轻松的实现 SSH链接

安装

pip install fabric

  
 
  • 1

查看版本

$ fab --version
Fabric 2.4.0
Paramiko 2.4.1
Invoke 1.2.0

  
 
  • 1
  • 2
  • 3
  • 4

脚本运行

# 执行本机命令
import os

os.system("echo 'hi'")

# 执行远程命令
from fabric import Connection

conn = Connection("root@remote")
conn.run("cd /demodir && bash deploy.sh")
conn.close()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

命令行运行

编写任务 fabfile.py

# -*- coding: utf-8 -*-

from fabric import task, Connection

@task
def local_list(ctx):
	# 执行本机命令, 会有环境异常,试试 os.system(command) ctx.run("ls")


@task
def remote_list(ctx):
	# 链接远程服务器执行命令  conn = Connection("root@localhost", connect_kwargs={"password": "123456"}) conn.run("ls") conn.close()


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

运行任务

$ fab -l
Available tasks: local-list
  remote-list

$ fab local-list
fabfile.py

$ fab remote-list
change_url.py
change_url_raw.py
...


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

相关资料
网站: https://www.fabfile.org/index.html
github: https://github.com/fabric/fabric
英文文档2.4: http://docs.fabfile.org/en/2.4/index.html#
英文文档1.14: http://docs.fabfile.org/en/1.14/index.html
中文文档(2016年版本较低):https://fabric-chs.readthedocs.io/zh_CN/chs/index.html

参考
“No idea what something is!” after running fabric2

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/89373688

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。