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

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

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

安装

pip install fabric

查看版本

$ fab --version
Fabric 2.4.0
Paramiko 2.4.1
Invoke 1.2.0

脚本运行

# 执行本机命令
import os
os.system("echo 'hi'")
# 执行远程命令
from fabric import Connection
conn = Connection("root@remote")
conn.run("cd /demodir && bash deploy.sh")
conn.close()

命令行运行

编写任务 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()

运行任务

$ fab -l
Available tasks:
  local-list
  remote-list
$ fab local-list
fabfile.py
$ fab remote-list
change_url.py
change_url_raw.py
...

相关资料

网站: 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

相关文章
|
运维 Linux Shell
Python自动化部署工具-Fabric
Python自动化部署工具-Fabric
Python自动化部署工具-Fabric
|
Shell Python 网络安全
|
网络安全 Python
Python编程:fabric实现SSH远程管理服务器
Python编程:fabric实现SSH远程管理服务器
113 0
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。

热门文章

最新文章