【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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM