gpt4 book ai didi

linux - Python子进程在远程机器上执行?

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:23 27 4
gpt4 key购买 nike

我必须编写一个脚本来从远程主机获取信息,例如内核版本、df -h、正常运行时间等。那么如何使用函数在远程端执行,或者还有其他方法可以做到这一点。示例代码如下,如果有人可以帮助我,我将不胜感激。

def GetKernel():
krnl=platform.release()
print(krnl)


def SSHserver(server):
sshProcess = subprocess.Popen(["ssh", server, GetKernel()],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
sshProcess.stdin.write(MountPointChecker())
print(sshProcess)

SSHserver('192.168.10.123')

最佳答案

您可以使用Fabric

首先在 Debian 8 中安装 fabric 包:

apt install fabric

创建一个名为fabfile.py的文件,内容在这里:

#!/usb/bin/env python2
# File fabfile.py
from fabric.api import run

def host_type():
run('uname -s')

def host_kernel():
run('uname -r')

def host_kernel_release_name_df():
run('uname -r')
run('lsb_release -ds')
run('hostname')
run('df -TPh')

现在在远程服务器上执行:

fab -H user@server1,user@server2 host_kernel_release_name_df

你可以运行多个 def :

fab -H user@server1,user@server2 host_type host_kernel

Fabric 网站:http://www.fabfile.org/

Python 中的其他 SSH 命令: https://wiki.python.org/moin/SecureShell

关于linux - Python子进程在远程机器上执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com