美文网首页
python实现跨机器执行shell

python实现跨机器执行shell

作者: 测试菜鸟 | 来源:发表于2018-12-31 00:18 被阅读0次

    1.安装python

    2.安装pip: easy_install pip

    3.安装selenium:pip install -U selenium

    案例一  跨机操作 

    baas/executeShell2.py

    1.主机地址 2.用户名 3.密码 4.路径 5.shell命令(需要用单引号阔起来) 6.执行命令后休眠时间

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

    import os

    import sys

    import time

    import re

    try:

        import pxssh

    except:

        from pexpect import pxssh

    import getpass

    def insertOne(strHostIP, strUserName, strPassword, path, shell, sleeptime):

        msg = ""

        try:

            # 调用构造函数,创建一个 pxssh 类的对象.

            s = pxssh.pxssh()

            # 利用 pxssh 类的 login 方法进行 ssh 登录,原始 prompt 为'$' , '#'或'>'

            s.login(strHostIP, strUserName, strPassword, original_prompt='[$#>]', login_timeout=10, port=36000)

            strCmd = "cd %s" %(path)

            print(strCmd)

            s.sendline(strCmd)

            s.prompt()

            # 发送命令

            strCmd = "%s" %(shell)

            print(strCmd)

            s.sendline(strCmd)

            # 增加超时时长

            time.sleep( int(sleeptime) )

            # 匹配 prompt,prompt超时时长默认30s

            s.prompt()

            # 将 prompt 前所有内容打印出,即命令  的执行结果.

            msg = s.before

            s.sendline('exit')

            p = msg.find('\n',1)

            msg= msg[p+1:]

            msg = msg.replace("\n","")

        except pxssh.ExceptionPxssh, e:

            msg = str(e)

        return msg

    if __name__=="__main__":

        if len(sys.argv) < 4:

            print("参数错误: 1.主机地址 2.用户名 3.密码")

            sys.exit(1)

        sleeptime = "0"

        strHostIP = sys.argv[1]

        strUserName = sys.argv[2]

        strPassword = sys.argv[3]

        path = sys.argv[4]

        shell = sys.argv[5]

        sleeptime = sys.argv[6]

        print("TEST")

        print("RESULT="+insertOne(strHostIP, strUserName, strPassword, path ,shell, sleeptime))

    相关文章

      网友评论

          本文标题:python实现跨机器执行shell

          本文链接:https://www.haomeiwen.com/subject/kyablqtx.html