以下是一个简单的Python Fabric示例,其中演示了如何使用Fabric连接到远程主机并执行一些基本操作:
from fabric import Connection, task
@task
def deploy(c):
# 连接到远程主机
conn = Connection(host='example.com', user='username', connect_kwargs={"password": "your_password"})
# 检查远程主机信息
uname = conn.run('uname -a')
print(f"Remote machine info: {uname.stdout.strip()}")
# 安装所需软件包
conn.sudo('apt-get update')
conn.sudo('apt-get install -y python3-pip')
# 上传文件到远程主机
conn.put('local_file.txt', '/remote/path')
# 运行远程命令
result = conn.run('ls -la /remote/path')
print(result.stdout.strip())
在这个示例中,我们首先使用Connection对象连接到远程主机。然后,我们检查远程主机信息,安装所需软件包,上传文件到远程主机并运行远程命令。
在deploy函数上方,我们使用@task装饰器定义一个任务,以便可以在命令行中使用指令来调用它:
fab deploy
这个命令将连接到远程主机并执行deploy函数中的所有操作。
Fabric提供了许多选项和功能,可以在官方文档中查找更多信息。
详细用法参考官网,如下一篇帖子有较多用法介绍:
Python Fabric模块详解