Maison  >  Article  >  développement back-end  >  Utiliser Python pour implémenter la gestion des lots hôtes

Utiliser Python pour implémenter la gestion des lots hôtes

高洛峰
高洛峰original
2017-03-26 17:51:421143parcourir

Dans les travaux quotidiens d'exploitation et de maintenance, il est très courant d'héberger des hôtes par lots. Il existe également de nombreux logiciels de gestion de lots d'hôtes sur le marché, mais parfois ces logiciels ne peuvent pas répondre pleinement à nos besoins. Python fournit simplement un module pour la gestion des lots hôtes. Voyons aujourd'hui comment utiliser Python pour réaliser la gestion des lots hôtes

Python fournit principalement trois modules pour la gestion des lots hôtes : paramiko, fabric et pexpect. Je parle principalement du module paramiko, qui est un module tiers

Installation : pip install paramiko ou yum install python-paramiko Si les deux installations échouent, vous pouvez utiliser le code source pour installer

<.>Adresse de téléchargement du package de code source : https://github.com/paramiko/paramiko/archive/master.zip

Opérations courantes :

ssh = paramiko.SSHClient() //Instantiation , ssh session class

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //La réponse automatique à la première connexion est oui

ssh.connect('server ip', port, 'username ', 'password') / /Connectez-vous au serveur

stdin,stdout,stderr = ssh.exec_command("command") //Exécutez la commande, sortie standard, la commande sera renvoyée avec succès, la commande l'échec sera renvoyé

ssh.close()                             / /Fermer la connexion

Télécharger, télécharger :

get_put = paramiko.Transport((ip,port)) //Serveur ip et port (utilisé lors de l'utilisation de SFTP)

get_put .connect(username="root", password="123.com") //Connectez-vous au serveur, nom d'utilisateur et mot de passe

sftp = paramiko.SFTPClient.from_transport(get_put) //Utiliser le protocole SFTP

sftp.put (le fichier à télécharger, l'emplacement où le fichier téléchargé est enregistré) //Télécharger

sftp. get (l'emplacement du fichier téléchargé, l'emplacement où le téléchargement est enregistré) //Download

host Gestion des lots :

#!/usr/bin/python

#-*- codage : utf-8 -*-

import paramiko

import os

def Connect(ip='127.0.0.1',Port=22,user ='root',pwd='123.com'):

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh .connect(hostname=ip, port=Port, username=user, password=pwd) #Connect to server

Return ssh                                                                                                                                                                                       = ip.split('--')

si len( __ip) == 2 :                                                                                                ' s ' ‐ ‐ ‐ ‐ ‐ ‐ ‐ 1 ip_range = int(__ip[1])           #Récupérer l'ip La valeur maximale de

host_ip_split = ip_add.split('.') # Séparez l'ip en 4 segments avec .

host_ip = int(host_ip_split.pop()) #Obtenez la valeur minimale de l'ip

ip_3 = '.'.join(host_ip_split)+' .' #Répliquez les parties restantes qui ont supprimé la valeur IP minimale

host_add_range = range(host_ip,ip_range+1) # Générez la plage d'IP de connexion

                                                                                                                                    utiliser   pour                    ' s ' ‐ ‐ ‐ ‐ ‐ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​​​​​​ ​​​​​​​ ​​​​​​ ​​​​​ ​​​​​​ ​​​​​​ ​​​​​​ ​​​​​​ ​​​​​​ ​​​​​​ ​​​​​​ ​​​​​ 🎜 >

                                                                                                                                                                   == 1:                       #Si l'entrée est une seule adresse

valid_ip = __ip[0]

ip_value = valid_ip.split('.')[0:4] #Détecter la légalité de l'ip

[ int(i) for i in ip_value ]

                                                            > Fa = True

while Fa :

ip = raw_input(' Veuillez saisir une adresse IP ou une plage d'adresses : ')

exclus_ip = raw_input('Veuillez saisir l'adresse à exclure : ' ')

essayez :

ip_list = IP_ADD(ip) # Gérer l'adresse IP saisie par l'utilisateur dans la fonction

if Exclude_ip.strip() : # Déterminer l'utilisateur Voulez-vous exclure l'adresse dans le pool d'adresses

Exclude_add = Exclude_ip.split (',') #Définir le format d'exclusion

[ip_list.remove (i) pour I dans Exclude_add] # >

            False                                                                                                                                                                          

                                                                                                              en utilisant   si sortie standard :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn