使用python备份数据库并删除备份超过一定时长的文件

2022-10-15,,,,

 #!/usr/bin/env python
#-*- coding: utf-8 -*-
"""
@Project:Py
@author:sandu
@Email: sandu12345@msn.cn
@Software: PyCharm
@file: mysql_class.py
@time: 2018/1/18 0018 下午 14:02
""" #导入模块
import time
import os DATE = time.strftime('%Y%m%d%H%M%S')
DAYS = 3 class MysqlBak(): def __init__(self,DATE,DAYS):
self.date = DATE
self.days = DAYS
self.__DB_HOST = "127.0.0.1"
self.__DB_PORT = ""
self.__DB_NAME = "demooil"
self.__DB_USER = "demooil"
self.__DB_PASS = "8OvUNQU8CggrahGS"
self.__BIN_DIR = "/usr/local/mysql/bin/mysqldump"
self.__OPTIONS = "--skip-extended-insert --skip-lock-tables --set-gtid-purged=OFF --triggers --routines --events"
self.__MYSQLBACK_DIR = "/home/backup/demooil_bak/"
self.__filebak_log = "/var/log/mysqlbak.log"
self.__filerm_log = "/var/log/mysqlrm.log" def mysql_bak(self):
try:
# all
mysql_file = self.__MYSQLBACK_DIR + str(self.date) + ".sql"
os.system("%s -h%s -u%s -p%s %s -d --databases %s > %s" % (self.__BIN_DIR,self.__DB_HOST,self.__DB_USER,self.__DB_PASS,self.__OPTIONS,self.__DB_NAME,mysql_file))
if os.path.exists(mysql_file):
with open(self.__filebak_log,'a') as f_obj:
f_obj.write('%s success back file %s \n' % (self.date[0:8],mysql_file))
except Exception as e:
with open(self.__filebak_log, 'a') as f_obj:
f_obj.write('%s error back file %s \n' % (self.date[0:8],mysql_file))
f_obj.write("error msg: %s" % e) def mysql_rm(self):
"""删除备份目录下超过一定时长的文件"""
f = list(os.listdir(self.__MYSQLBACK_DIR))
now_time = self.date[0:8]
for i in f:
if i[15:] == 'sql':
exit_time = i[0:8]
update_time = int(exit_time) + self.days
if update_time < int(now_time):
os.remove(self.__MYSQLBACK_DIR + i)
with open(self.__filerm_log, 'a') as file_log:
file_log.write("%s删除备份文件%s \n" % (self.date[0:8], i)) if __name__ == '__main__':
mysql_bak = MysqlBak(DATE,DAYS)
mysql_bak.mysql_bak()
mysql_bak.mysql_rm() # linux定时执行python文件
# crontab
# 0 5 * * * /usr/bin/python /root/demooil_mysql_bak.py >/dev/null 2>&1

使用python备份数据库并删除备份超过一定时长的文件的相关教程结束。

《使用python备份数据库并删除备份超过一定时长的文件.doc》

下载本文的Word格式文档,以方便收藏与打印。