場景分析;
1.運維場景新增物理機機器 需要進行登入機器進行環境標準化;
2.例項**;
1.安裝相關支援包
pip3 install pycrypto
pip3.6 install paramiko
2.遠端執行命令示例**;
#!/usr/bin/env python36
from multiprocessing import process
import paramiko
import sys
username = 'root'
password = 'p@ssw0rd'
port = 22
timeout = 60
def runcmd(ip,cmd):
s = paramiko.sshclient()
s.set_missing_host_key_policy(paramiko.autoaddpolicy())
try:
s.connect(hostname=ip, port=port, username=username, password=password,timeout=timeout)
stdin, stdout, stderr = s.exec_command(cmd)
result = stdout.read()
print(ip,result)
except:
print("is not exists") + ip
def ipprocess():
try:
cmd = sys.ar**[1]
for i in range(4,16):
ip = '172.21.38.%s' % i
p = process(target=runcmd,args=(ip,cmd))
p.start()
except indexerror:
print("please input a command")
if __name__ == '__main__':
ipprocess()
3.執行結果;
4.封裝遠端命令執行和檔案上傳;
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import paramiko
class sshconnection(object):
def __init__(self, host='192.168.12.68', port=22, username='locojoy',pwd='123321qq!'):
self.host = host
self.port = port
self.username = username
self.pwd = pwd
self.__k = none
def run(self):
self.connect() # 連線遠端伺服器
self.upload('db.py','/tmp/1.py') # 將本地的db.py檔案上傳到遠端伺服器的/tmp/目錄下並改名為1.py
self.cmd('df') # 執行df 命令
self.close() # 關閉連線
def connect(self):
transport = paramiko.transport((self.host, self.port))
transport.connect(username=self.username, password=self.pwd)
self.__transport = transport
def close(self):
self.__transport.close()
def upload(self,local_path,target_path):
sftp = paramiko.sftpclient.from_transport(self.__transport)
sftp.put(local_path,target_path)
def cmd(self, command):
ssh = paramiko.sshclient()
ssh._transport = self.__transport
# 執行命令
stdin, stdout, stderr = ssh.exec_command(command)
# 獲取命令結果
result = stdout.read()
print(result)
return result
obj = sshconnection()
obj.run()
python多程序 python多程序
當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...
python多程序 Python多程序實踐
建立程序方式如下 可以通過lock鎖機制實現共享鎖,但比較常用的方式還是以上這些方式,效率更高,更安全。使用方式 構造 類方法 使用方式 構造 更多型別支援一般使用manager,支援的型別包括list,dict,namespace,lock,rlock,semaphore,boundedsemap...
python多程序 Python多程序程式設計詳解
本文 在 python 3.6 環境下測試通過。多程序 multiprocessing 模組是在 python 2.6 版本中加入的,和多執行緒 threading 模組類似,都是用來做並行運算的。不過python既然有了threading,為什麼還要搞乙個multiprocessing呢?這是因為...