码迷,mamicode.com
首页 > 编程语言 > 详细

拿Python写了一个备份结果监控程序

时间:2017-04-28 23:43:04      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:python   mail   subprocess.open   

1、背景说明

前段时间为公司制定了一套备份解决方案

需要每天被告知备份是否OK

2、流程

技术分享

3、代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
import email.mime.multipart
import email.mime.text
import time
import subprocess


def mailalter(user,receivers,subject,servername,status):
    msg=email.mime.multipart.MIMEMultipart()
    msg[‘from‘]=‘demo@demo‘
    msg[‘to‘]= user
    msg[‘subject‘]= subject

    content = ‘‘‘
Dear ITers:
    %s bakcup status %s

##Powered by voidyao000##
##Life is short,you need python!##
    ‘‘‘%(servername,status)


    txt=email.mime.text.MIMEText(content)
    msg.attach(txt)

    smtp=smtplib
    smtp=smtplib.SMTP()
    smtp.connect(‘*.*.*.*‘,‘25‘)
    #注意点:这里的receivers是列表字符串
    smtp.sendmail(‘demo@demo‘,receivers,str(msg))
    smtp.quit()

def chkbak(servername):
    user = ‘demo@demo,demo2@demo‘
    receivers = [‘demo@demo‘,‘demo2@demo‘,]
    subjectok = ‘%s %sbackup OK‘%(time.strftime("%Y-%m-%d"),servername)
    subjectfail = ‘%s %sbackup fail‘%(time.strftime("%Y-%m-%d"),servername)
    bakdate = time.strftime("%y%m%d")
    logfile = ‘/home/%sbackup/%sbak%s.log‘ %(servername,servername,bakdate)
    cmd = ‘tail -1 %s‘ %(logfile)
    cmd_call = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
    cmd_result = str(cmd_call.stdout.read(),‘utf8‘).strip()
    chk_line = ‘%s backup sucessful‘%(servername)
    if chk_line ==cmd_result:
        status = ‘ok‘
        print(‘backup ok‘)
        mailalter(user,receivers,subjectok,servername,"OK")
    else:
        status = ‘fail‘
        print("backup fail")
        mailater(user,receivers,subjectfail,servername,"Fail")
chkbak("servername")


本文出自 “Open World” 博客,请务必保留此出处http://voidyao000.blog.51cto.com/12458042/1920521

拿Python写了一个备份结果监控程序

标签:python   mail   subprocess.open   

原文地址:http://voidyao000.blog.51cto.com/12458042/1920521

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!