backupboot
#!/usr/bin/env python2.7
#coding:utf-8
import re
import os
import glob
import mysql.connector
conn = mysql.connector.connect(host='localhost',user='root',passwd='123lqh',database='linqiuhua_test')
cur=conn.cursor()
logs=['main']
for i in logs:
path='/root/practise/'+i+'/log/*.log'
path1='/root/practise/'+i+'/*.xbstream.gz'
name1=glob.glob(path1)
name=glob.glob(path)
filename1=max(name1)
filename=max(name) #获取备份日期最大的文件路径
arg0=filename.split("/")[5] #文件名
arg1=arg0.split(".")[0] #实例
arg2=arg0.split(".")[3] #生产环境
arg3=arg0.split(".")[4]
time=arg3[-14:-10]+"-"+arg3[-10:-8]+"-"+arg3[-8:-6]+" "+arg3[-6:-4]+":"+arg3[-4:-2]+":"+arg3[-2:] #备份时间
file_size1 = os.path.getsize(filename1) #文件大小单位为字节 byte
file_size2=file_size1/1073741824.0
size=str(file_size2)+" GB"
if arg2=="prod":
arg2="prduc"
file_open=open(filename)
file_read=file_open.read()
file_method=re.search("xtrabackup",file_read)
file_open.close()
backup=file_method.group(0)
with open(filename, 'r') as fh:
first = next(fh)
offs = -15
while True:
fh.seek(offs, 2)
lines = fh.readlines()
line = "".join(lines).replace('\n', '')
if len(lines) > 1:
last = lines[-1]
break
offs *= 2
if line=="completed OK!":
info="数据库日志备份成功!"
else:
info="数据库日志备份失败!"
sql="insert into backup_log(env,alias,log_name,file_size,start_time,message,backup_type) values(%s,%s,%s,%s,%s,%s,%s)"
cur.execute(sql,[arg2,arg1,arg0,size,time,info,backup])
conn.commit()
cur.close()
conn.close()