Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von Python zur Implementierung der Host-Batch-Verwaltung

Verwendung von Python zur Implementierung der Host-Batch-Verwaltung

高洛峰
高洛峰Original
2017-03-26 17:51:421157Durchsuche

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 -Wert

host_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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn