Bei täglichen Betriebs- und Wartungsarbeiten kommt es häufig zu Batch-Host-Hosts. Es gibt auch viele Host-Batch-Management-Softwares auf dem Markt, aber manchmal kann diese Software unsere Anforderungen nicht vollständig erfüllen. Python bietet lediglich ein Modul für die Host-Batch-Verwaltung. Heute werfen wir einen Blick darauf, wie Python zur Host-Batch-Verwaltung verwendet wird Ich spreche hauptsächlich vom Paramiko-Modul, einem Modul eines Drittanbieters
Installation: pip install paramiko oder yum install python-paramiko. Wenn beide Installationen fehlschlagen, können Sie den Quellcode zur Installation verwenden
Download-Adresse des Quellcodepakets: https://github.com/paramiko/paramiko/archive/master.zip
Allgemeine Vorgänge:
ssh = paramiko.SSHClient() //Instantiierung , SSH-Sitzungsklasse
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //Die automatische Antwort für die erste Verbindung ist Ja
ssh.connect('server ip', port, 'username ', 'Passwort') / /Mit dem Server verbinden
stdin,stdout,stderr = ssh.exec_command("command") //Führen Sie den Befehl aus, Standardausgabe, der Befehl wird erfolgreich zurückgegeben, der Befehl Fehler wird zurückgegeben
ssh.close() /Verbindung schließen
Hochladen, Herunterladen:
get_put = paramiko.Transport((ip,port)) //Server-IP und Port (wird bei Verwendung von SFTP verwendet)
get_put .connect(username="root", password="123.com") //Mit dem Server verbinden, Benutzername und Passwort
sftp = paramiko.SFTPClient.from_transport(get_put) //SFTP-Protokoll verwenden
sftp.put (die hochzuladende Datei, der Speicherort der hochgeladenen Datei) //Hochladen
sftp.get (der Speicherort der heruntergeladenen Datei, der Speicherort des Downloads) //Download
Host-Stapelverwaltung:
#!/usr/bin/python
# -*- Codierung: 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 🎜>
if len(__ip ) == 2: ‐ ‐ ‐ ‐ ‐ 1 ip_range = int(__ip[1]) #Retrieve ip Der Maximalwert von host_ip_split = ip_add.split('.') #Separate die IP in 4 Segmente mit . host_ip = int(host_ip_split.pop()) #Ermitteln Sie den Mindestwert der IP ip_3 = '.'.join(host_ip_split)+'. '#Resplice Die verbleibenden Teile, die den minimalen IP -Werthost_add_range = Bereich (Host_ip, IP_Range+1) entfernt haben ‐ ‐ 🎜 >
value = valid_ip.split('.')[0:4] #Detect die Rechtmäßigkeit von IP
[ int(i) für i in ip_value ]
> Fa = True
while Fa:
ip = raw_ Eingabe(' Bitte geben Sie eine IP-Adresse oder einen Adressbereich ein: ')
exclude_ip = raw_input('Bitte geben Sie die auszuschließende Adresse ein: ' ')
try:
ip_list = IP_ADD(ip) # Behandeln Sie die vom Benutzer eingegebene IP mit der Funktion
ifexclude_ip.strip(): Möchten Sie die Adresse im Adresspool ausschließen
Exclude_add = Exclude_ip.split (' ,') #Definieren Sie das Ausschlussformat[ip_list.remove (i) für I in Exclude_add] # >
verwenden using mit ' ' s ' durch ' durch ' durch durch ‐ ‐ ‐ ‐ ‐ ‐ - - Zu
using if stdout:
Das obige ist der detaillierte Inhalt vonVerwendung von Python zur Implementierung der Host-Batch-Verwaltung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!