Maison > Article > développement back-end > Utiliser Python pour implémenter la gestion des lots hôtes
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.zipOpérations courantes : ssh = paramiko.SSHClient() //Instantiation , ssh session classssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //La réponse automatique à la première connexion est ouissh.connect('server ip', port, 'username ', 'password') / /Connectez-vous au serveurstdin,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 connexionTé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 passesftp = paramiko.SFTPClient.from_transport(get_put) //Utiliser le protocole SFTPsftp.put (le fichier à télécharger, l'emplacement où le fichier téléchargé est enregistré) //Téléchargersftp. get (l'emplacement du fichier téléchargé, l'emplacement où le téléchargement est enregistré) //Downloadhost Gestion des lots : #!/usr/bin/python #-*- codage : utf-8 -*-import paramikoimport osdef 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!