• 【Python】连接Linux并执行命令


    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    @Time    :2022/3/31 23:00
    @Author  :
    @File    :LinuxUtil.py
    @Version :1.0
    @Function:
    
    pip install paramiko -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    """
    import paramiko
    
    
    class LinuxUtil:
        def __init__(self, ip: str, port: int, name: str, pwd: str):
            """
            连接Linux服务器 并执行命令
            :param ip:
            :param port:
            :param name:
            :param pwd:
            """
            # 创建SSHClient实例对象
            self.ssh = paramiko.SSHClient()
            # 调用方法,标识没有远程机器的公钥,允许访问
            self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            # 连接远程机器 地址端口用户名密码
            self.ssh.connect(ip, port, name, pwd)
    
        def execCmd(self, cmdStr: str) -> list:
            """
            执行命令
            :param cmdStr: 多个命令用分号隔开
            :return:
            """
            # 执行命令(多个命令用分号隔开)
            stdin, stdout, stderr = self.ssh.exec_command(cmdStr)
    
            # 获取屏幕上的每行数据
            return stdout.read().decode().split('\r\n')
    
        def close(self):
            self.ssh.close()
    
    
    if __name__ == '__main__':
        linuxUtil = LinuxUtil("xxx.xxx.xxx.xxx", 22, "xxxx", "xxxxx")
        print(*linuxUtil.execCmd("cd /root/zgx/WebTool;cat manage.py | tail -3f"), sep='\n')
        linuxUtil.close()
  • 相关阅读:
    【转】CentOS8新特性
    【转】Python 库打包分发(setup.py 编写)简易指南
    【转】Python3的venv虚拟环境操作(Linux)
    【转】Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解
    【转】Qt 积累
    webapi 参数传递详解
    WPF 字体图标样式
    asp net core mvc 跨域ajax解决方案
    NPOI导出Excel封装
    XML序列化CDATA
  • 原文地址:https://www.cnblogs.com/danhuai/p/16084818.html
Copyright © 2020-2023  润新知