修改代码
This commit is contained in:
parent
4515b02d61
commit
d9268e416e
|
@ -1,4 +1,6 @@
|
|||
#!/usr/bin/python3file_today_path
|
||||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import _load
|
||||
import psutil
|
||||
import smtplib
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import smtplib
|
||||
import subprocess
|
||||
import shutil
|
||||
import os
|
||||
|
||||
from email.mime.text import MIMEText
|
||||
from email.header import Header
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
from datetime import datetime
|
||||
|
||||
"""
|
||||
执行备份集检查,将检查结果发送邮件
|
||||
|
||||
使用方法:
|
||||
1.先手动确认backupCheckTool.jar运行无问题
|
||||
2.将本脚本和backupCheckTool.jar放在同一个目录中
|
||||
3.修改邮箱的收发件人地址
|
||||
4.执行脚本
|
||||
|
||||
"""
|
||||
|
||||
|
||||
|
||||
#公共的
|
||||
now=os.path.dirname(os.path.abspath(__file__))
|
||||
week = str(datetime.now().isocalendar()[1])
|
||||
|
||||
file_path=os.path.join(now,"report.txt")
|
||||
file_name_week="report" + week + ".txt"
|
||||
file_week_path=os.path.join(now,file_name_week)
|
||||
|
||||
#检查工具
|
||||
checktool=os.path.join(now,"backupCheckTool.jar")
|
||||
if not os.path.exists(checktool):
|
||||
assert False,u'backupCheckTool.jar not found,please check it!!'
|
||||
|
||||
def send_mail():
|
||||
# 发件人
|
||||
sender = 'mh@unamail.com'
|
||||
# 接收邮件,可以发给多人
|
||||
receivers = ['mh@unamail.com']
|
||||
# 邮件主体
|
||||
msg = MIMEMultipart()
|
||||
# 正文
|
||||
#文本内容太多了,不放了。
|
||||
#with open(file_path, "r") as f: # 打开文本
|
||||
# msgdata = f.read()
|
||||
msgdata=""
|
||||
message = "第{0}周,备份集检测已完成,检测内容将附件\n{1}".format(
|
||||
week, msgdata)
|
||||
msg.attach(MIMEText(message, 'plain', _charset="utf-8"))
|
||||
# 发送者
|
||||
msg['From'] = Header(sender, 'utf-8')
|
||||
# 接收者
|
||||
msg['To'] = Header(receivers[0], 'utf-8')
|
||||
# 主题
|
||||
subject = '【长期任务】备份集检查-W{0}'.format(week)
|
||||
msg['Subject'] = Header(subject, 'utf-8')
|
||||
# 附件信息
|
||||
att = MIMEText(open(file_week_path, 'rb').read(), 'base64', 'utf-8')
|
||||
att["Content-Type"] = 'application/octet-stream'
|
||||
att["Content-Disposition"] = 'attachment; filename="{}"'.format(
|
||||
file_name_week)
|
||||
msg.attach(att)
|
||||
|
||||
try:
|
||||
smtpObj = smtplib.SMTP('10.10.110.102')
|
||||
smtpObj.sendmail(sender, receivers, msg.as_string())
|
||||
print("邮件发送成功")
|
||||
except smtplib.SMTPException:
|
||||
print("Error: 无法发送邮件")
|
||||
|
||||
|
||||
def main():
|
||||
#删除之前的文件
|
||||
if os.path.exists(file_path):
|
||||
os.remove(file_path)
|
||||
#运行检查工具
|
||||
commdline = ['java', '-jar', '-Dusername=unadba', '-Dpassword=1223Bc@2008', 'backupCheckTool.jar']
|
||||
recode=subprocess.call(commdline)
|
||||
#处理检查结果
|
||||
shutil.copy2(file_path,file_week_path)
|
||||
#发邮件
|
||||
send_mail()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue