国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

實用自動化運(yùn)維Python腳本分享

2020-02-15 21:37:21
字體:
供稿:網(wǎng)友

并行發(fā)送sh命令

pbsh.py

#!/usr/bin/python# -*- coding: UTF-8 -*-import paramikoimport sysimport threading#Copy local file to remote server.def sshclient_scp(hostname, port, username, password, local_path, remote_path): t = paramiko.Transport((hostname, port)) t.connect(username=username, password=password) # 登錄遠(yuǎn)程服務(wù)器 sftp = paramiko.SFTPClient.from_transport(t) # sftp傳輸協(xié)議 sftp.put(local_path, remote_path) t.close()def sshclient_scp_get(hostname, port, username, password, remote_path, local_path): t = paramiko.Transport((hostname, port)) t.connect(username=username, password=password) # 登錄遠(yuǎn)程服務(wù)器 sftp = paramiko.SFTPClient.from_transport(t) # sftp傳輸協(xié)議 sftp.get(remote_path, local_path) t.close()def sshclient_execmd(hostname, port, username, password, execmd): paramiko.util.log_to_file("paramiko.log") s = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(hostname=hostname, port=port, username=username, password=password) stdin, stdout, stderr = s.exec_command(execmd) stdin.write("Y") # Generally speaking, the first connection, need a simple interaction. line=stdout.read() s.close() print (hostname+":") print linetry: file_name = sys.argv[1] cmd= sys.argv[2]except IndexError: print 'Wrong params!' print 'Usage :' print ' batch.py "$OS_LIST_FILE" "$BATCH_EXECUTE_CMD"' print 'cat oslist.txt:' print '192.168.0.1,22,oracle,passwd1' print '192.168.0.2,22,oracle,passwd1' print '192.168.0.3,24,oracle,passwd1' print 'Format is :' print 'IPADDR,SSHPORT,USERNAME,PASSWORD' print 'Examples of usage:' print './batch.py "/root/workspace/oslist.txt" "df -h"' sys.exit()#file_name = sys.argv[1]#cmd= sys.argv[2]#maintenance_osinfowith open(file_name) as file_object: for line in file_object: splits_str = line.rstrip().split(',') a=threading.Thread(target=sshclient_execmd,args=(splits_str[0],int(splits_str[1]),splits_str[2],splits_str[3],cmd)) a.start() #print sshclient_execmd(splits_str[0],int(splits_str[1]),splits_str[2],splits_str[3],cmd)# print sshclient_scp(splits_str[0], int(splits_str[1]), splits_str[2], splits_str[3], file_name, splits_str[4]+file_name)

python發(fā)送郵件

sendmail.py#!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibimport email.MIMEMultipartimport email.MIMETextimport email.MIMEBaseimport sys#from email.mime.application import MIMEApplication#import os.pathdef sendmail(f_from, f_to, f_cclist, alert_info, f_subject): From = f_from To = f_to #file_name = f_file_name server = smtplib.SMTP("smtp.xxxx.com.cn") server.login("xxxx","xxxx") #構(gòu)造MIMEMultipart對象做為根容器 main_msg = email.MIMEMultipart.MIMEMultipart() text_msg = email.MIMEText.MIMEText("您好。<br><br><br><br>"     + alert_info.title() +     "<br>任鳳軍 <br>"     "xx技術(shù)股份有限公司 <br>"     "手機(jī): xx<br>"     "座機(jī):xxx<br>"     "郵箱:xxxx@xx.com<br>"     "地址:xxxx<br>"     "郵編:130011<br>"     "===================================<br>"     "",'HTML','utf-8') main_msg.attach(text_msg) #xlsxpart = MIMEApplication(open(file_name, 'rb').read()) #xlsxpart.add_header('Content-Disposition', 'attachment', filename=f_subject+".docx") #main_msg.attach(xlsxpart) # 設(shè)置根容器屬性 main_msg['From'] = From main_msg['To'] = To main_msg['Cc'] = ",".join(f_cclist) main_msg['Subject'] = f_subject main_msg['Date'] = email.Utils.formatdate() #f_cclist為完整的需要接收郵件的列表,原本只存放抄送列表,這里需要添加上收件人 f_cclist.append(To) # 得到格式化后的完整文本 fullText = main_msg.as_string() # 用smtp發(fā)送郵件 try: server.sendmail(From, f_cclist, fullText) finally: server.quit()if __name__ == "__main__": #sys.setdefaultencoding('utf-8') message= [ 'Usage:', ' sendmail.py "topic" "mail body text" "mail to"', 'Examples of usage:', '   sendmail.py "topic" "hello world" "14638852@qq.com"', ] try: topic = str(sys.argv[1]).encode("utf-8") alert = str(sys.argv[2]).encode("utf-8") mailto = str(sys.argv[3]).encode("utf-8") except IndexError: for line in message:  print line+'/n' sys.exit() cclist=[] #clist =[] sendmail("xxxx@xxx",mailto,cclist,alert, topic)備注:sendmail("xxxx@gmail.com",mailto,cclist,alert, topic)發(fā)件人,收件人,抄送列表,正文內(nèi)容,郵件標(biāo)題Usage: sendmail.py "topic" "mail body text" "mail to"Examples of usage:   sendmail.py "topic" "hello world" "14638852@qq.com"./sendmail.py "topic" "hello world" "14638852@qq.com"            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 山东省| 静宁县| 喀什市| 石首市| 宕昌县| 犍为县| 普兰县| 华池县| 杭锦后旗| 常宁市| 宾阳县| 屏东市| 昌黎县| 惠水县| 太仓市| 漳浦县| 长泰县| 介休市| 卢龙县| 华宁县| 连云港市| 浙江省| 鹰潭市| 昌吉市| 西贡区| 汽车| 桦甸市| 新津县| 大兴区| 中超| 普兰县| 简阳市| 康定县| 聊城市| 杭锦旗| 正蓝旗| 黎川县| 舞钢市| 新郑市| 团风县| 工布江达县|