编写python3脚本,实现查询mysql中所有库并进行备份,删除过期备份 |
发表者:admin分类:数据库2023-04-01 09:10:01 阅读[395] |
以下是一个Python3脚本,可以实现查询MySQL数据库中所有库,并进行备份,然后删除7天前的备份。
import os
import time
import datetime
import pymysql
# MySQL数据库连接信息
host = 'localhost'
port = 3306
user = 'root'
password = 'password'
# 备份文件保存路径
backup_path = '/backup/'
# 获取当前时间
today = datetime.date.today()
# 连接MySQL数据库
conn = pymysql.connect(host=host, port=port, user=user, password=password)
# 获取所有数据库名
cursor = conn.cursor()
cursor.execute('SHOW DATABASES')
databases = cursor.fetchall()
# 备份所有数据库
for database in databases:
database = database[0]
if database == 'information_schema' or database == 'mysql' or database == 'performance_schema':
continue
filename = backup_path + database + '_' + str(today) + '.sql'
os.system('mysqldump -h ' + host + ' -u ' + user + ' -p' + password + ' ' + database + ' > ' + filename)
# 删除7天前的备份
for file in os.listdir(backup_path):
if file.endswith('.sql'):
file_path = os.path.join(backup_path, file)
file_time = datetime.datetime.fromtimestamp(os.path.getctime(file_path)).date()
if (today - file_time).days > 7:
os.remove(file_path)
# 关闭数据库连接
cursor.close()
conn.close()
说明:
1. 首先,需要安装pymysql模块,可以使用pip3 install pymysql命令进行安装。
2. 在脚本中,需要设置MySQL数据库连接信息、备份文件保存路径等参数。
3. 使用SHOW DATABASES语句获取所有数据库名。
4. 使用mysqldump命令备份所有数据库。
5. 使用os.listdir()函数获取备份文件夹中的所有文件,使用os.path.getctime()函数获取文件创建时间,判断是否需要删除备份文件。
6. 使用centos7系统,需要安装python3,具体命令如下:
[root@os-240 ~]# yum install python3
[root@os-240 ~]# pip3 install pymysql
[root@os-240 ~]# pip3 install setuptools_rust
[root@os-240 ~]# pip3 install transformers==3.4
[root@os-240 ~]# pip3 install cryptography
注意:在实际使用中,需要根据实际情况进行修改和调整。
转载请标明出处【编写python3脚本,实现查询mysql中所有库并进行备份,删除过期备份】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
Tags: | [阅读全文...] |
最新评论