Python脚本备份数据库

# coding:utf-8
import subprocess
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr, formataddr
databases=['db1','db2']

def backup(database):
    commandfull="/usr/local/mysql/bin/mysqldump -u%s -p%s %s > %s.sql" %('root','sy2015',database,database)
    subprocess.call(commandfull, shell=True)


def _format_addr(s):
    name,addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr.encode('utf-8') if isinstance(addr,unicode) else addr))

def sendEMail():
    from_addr = "from@163.com"
    password = "pwd"
    smtp_server = "smtp.163.com"
    to_addr = "to@163.com"

    msg = MIMEText('数据库备份成功!', 'plain', 'utf-8')
    msg['From'] = _format_addr(from_addr)
    msg['To'] = _format_addr(to_addr)
    msg['Subject'] = Header(u'数据库备份信息', 'utf-8').encode()

    server = smtplib.SMTP(smtp_server, 25)
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()


if __name__ == '__main__':
    for database in databases:
        backup(database)
sendEMail()



转载于:https://my.oschina.net/famiover/blog/672248

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值