首页 > 系统服务 > 详细

rpyc + plumbum 实现远程调用执行shell脚本

时间:2018-06-25 23:47:39      阅读:241      评论:0      收藏:0      [点我收藏+]

rpyc可以很方便实现远程方法调用, 而plumbum则可以实现在python中类似shell的方式编码:

具体实现代码如下:

Server.py

import rpyc
from rpyc.utils.server import ThreadedServer
from plumbum import local
from plumbum.cmd import sh


class CalculatorService(rpyc.Service):
    """根据路径和脚本名执行脚本
    :param path:  路径
    :param shn:   执行脚本名
    """
    def exposed_execute(self, path, shn):
        exec=sh[shn]
        with local.cwd(local.cwd / path):
            exec()
        return

if __name__ == "__main__":
    server = ThreadedServer(service=CalculatorService, port=12105)
    server.start()

Client.py

import rpyc

class ClientService(rpyc.Service):
    def exposed_foo(self):
        return "foo"

conn = rpyc.connect("10.47.58.196", 12105)
#脚本路径
path="/data/local/test"
#脚本名
shn="echo.sh"
#远程调用执行远程shell脚本
x = conn.root.execute(path, shn)
conn.close()

将echo.sh脚本放在/data/local/test路径下,先远程启动Server.py,然后执行Client.py即可远程调用执行echo.sh脚本。

rpyc + plumbum 实现远程调用执行shell脚本

原文:https://www.cnblogs.com/cord/p/9226655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!