Python远程执行命令

知识库编程技巧Pythonpython小于 1 分钟

脚本文件内容

import paramiko
import sys
def pl_ssh(ip,password,username,cmd,port="22"):
    ssh_client=paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
    try:
        ssh_client.connect(hostname=ip,username=username,password=password)
    except Exception as e:
        print('服务器%s连接失败' %ip)
        print(e)
        sys.exit()
    stdin,stdout,stderr=ssh_client.exec_command(cmd)
    print('服务器%s磁盘使用率情况' %ip)
    print(stdout.read().decode("utf-8"))
    ssh_client.close()
if __name__ == '__main__':
    servers={
        "192.16.18.151":{
            "username": "root",
            "password": "root",
            "cmd": "df -h"
        }
    }
    for ip,info in servers.items():
        pl_ssh(ip=ip,username=info.get("username"),password=info.get("password"),cmd=info.get("cmd"),port=info.get("port"))

效果

服务器192.16.18.151磁盘使用率情况
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 969M     0  969M    0% /dev
tmpfs                    982M     0  982M    0% /dev/shm
tmpfs                    982M  9.1M  973M    1% /run
tmpfs                    982M     0  982M    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  7.7G   43G   16% /
/dev/sda1               1014M  139M  876M   14% /boot
/dev/mapper/centos-home   27G   33M   27G    1% /home
tmpfs                    197M     0  197M    0% /run/user/0
overlay                   50G  7.7G   43G   16% /var/lib/docker/overlay2/77952b5502c7341e960e22cd0333ca3e394b9b52cdb95314cabc99981ca5650d/merged
shm                       64M     0   64M    0% /var/lib/docker/containers/a442f921f67646e56ca6c7dbd135d74374bd51d4997909d0d152e58633cc0532/mounts/shm
overlay                   50G  7.7G   43G   16% /var/lib/docker/overlay2/3fbb54dfa01f3c6a53bdcb151ad4474e2808ec29597152bafb69932454fa115b/merged
shm                       64M     0   64M    0% /var/lib/docker/containers/b18b3d952329ba7359928890cf35423216bdff97f40f1a8392f7d1da1133cf65/mounts/shm
overlay                   50G  7.7G   43G   16% /var/lib/docker/overlay2/64dd5ceeed90a08146e286de3096c130543c0f11cd4d09373eebfa2eec80839b/merged
shm                       64M     0   64M    0% /var/lib/docker/containers/87f361df7c92b0e109a783a12f7a678e69bcbb15457e61c4cd4a8430f5add262/mounts/shm
overlay                   50G  7.7G   43G   16% /var/lib/docker/overlay2/4a32742079a118aca98fbf9e7949489e8f5fef9f969493039ac16e190b57e5b6/merged
shm                       64M     0   64M    0% /var/lib/docker/containers/4c494969ae75e08c64791e6a023fd844fd61ac5b04845109fb2334d18fa4e9da/mounts/shm
overlay                   50G  7.7G   43G   16% /var/lib/docker/overlay2/f3792068a36554c5fa6c4e694e2b02e5fccafa38607519f10ea924ba179d7069/merged
shm                       64M     0   64M    0% /var/lib/docker/containers/51e6fecc90014233a0a6990b1418e0d5092cde1d045db16bb04ab8868695e764/mounts/shm