ホームページ  >  記事  >  バックエンド開発  >  Python を使用してホストのバッチ管理を実装する

Python を使用してホストのバッチ管理を実装する

高洛峰
高洛峰オリジナル
2017-03-26 17:51:421156ブラウズ

日常の運用やメンテナンス作業でホストをバッチ処理することは非常に一般的です。市場にはホストのバッチ管理ソフトウェアも多数ありますが、これらのソフトウェアではニーズを完全に満たせない場合があります。 Python はホスト バッチ管理のためのモジュールを提供するだけです。今日は Python を使用してホスト バッチ管理を実現する方法を見てみましょう。Python は主に paramiko、fabric、pexpect という 3 つのモジュールを提供します。 、paramiko モジュールはサードパーティ モジュールです

インストール: pip install paramiko または yum install python-paramiko 両方のインストールが失敗した場合は、ソース コードを使用してインストールできます

ソース コード パッケージのダウンロード アドレス: https://github .com/paramiko/paramiko/ archive/master.zip

共通操作:

ssh = paramiko.SSHClient() //インスタンス化、sshセッションクラス

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //最初の接続自動的に「はい」と答えます

ssh.connect('server ip', port, 'username', 'password') //サーバーに接続します

stdin,stdout,stderr = ssh.exec_command("command") //コマンドを実行、標準出力、コマンド 正常に返された場合、コマンドは返されませんでした

Ssh.close () // 接続を閉じます

アップロード、ダウンロード:

Get_put = paramiko.transport ((IP, Port))) // サーバー IPとポート (SFTP を使用する場合に使用)

get_put.connect(username="root", password="123.com") //サーバー、ユーザー名、パスワードに接続します

sftp = paramiko.SFTPClient.from_transport (get_put) //SFTPプロトコルを使用

sftp.put(アップロードする必要のあるファイル、アップロードしたファイルの保存場所) //Upload

sftp.get(ファイルをダウンロードした場所、場所ダウンロードが保存される場所) //Download

ホストバッチ管理:

#!/usr/bin/python

#-*-coding: 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) #サーバーに接続

ssh を返すsplit('--')

if len (__ip) == 2: #Ifこれはアドレス範囲です

host_ip_split = ip_add.split('.') #ipを に変更します

Host_ip = int(host_ip_split.pop()) #最小値を取得しますIP の値

ip_3 = ' .'.join(host_ip_split)+'.' #ipの最小値から残りの部分を削除 再スプライシング

host_add_range = range(host_ip,ip_range+1) to ) #合法的な IP アドレスに接続する

o add_pool.append(add)#generateアドレスプール

return add_pool #returnアドレスプールos . System ('クリア')

FA = TRUE

WHILE FA:

ip = raw_input ('IP アドレスまたはアドレス範囲を入力してください:')

exclude_ip = raw_input (' rurud out: ') R try:

ip_list = ip_add (IP) #ユーザーが入力したIPを関数処理に支払います

if exclude_ip.strip (): #ユーザーがアドレス内のアドレスを削除したいかどうかを判断しますpool

exclude_add = exclude_ip.split(',') #除外形式を定義します

ただし、次の場合を除きます。

印刷 ''

以上がPython を使用してホストのバッチ管理を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。