日常の運用やメンテナンス作業でホストをバッチ処理することは非常に一般的です。市場にはホストのバッチ管理ソフトウェアも多数ありますが、これらのソフトウェアではニーズを完全に満たせない場合があります。 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(アップロードする必要のあるファイル、アップロードしたファイルの保存場所) //Uploadsftp.get(ファイルをダウンロードした場所、場所ダウンロードが保存される場所) //Downloadホストバッチ管理: #!/usr/bin/python
#-*-coding: 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) #サーバーに接続
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 サイトの他の関連記事を参照してください。