Files
aitsc/scripts/backup_db.py
2025-02-23 09:07:52 +08:00

32 lines
915 B
Python

import os
import datetime
import subprocess
def backup_mysql_db():
"""备份MySQL数据库"""
# 数据库配置
DB_HOST = 'localhost'
DB_USER = '用户名'
DB_PASS = '密码'
DB_NAME = 'prompt_master'
# 备份文件路径
BACKUP_PATH = 'backups'
if not os.path.exists(BACKUP_PATH):
os.makedirs(BACKUP_PATH)
# 生成备份文件名
date = datetime.datetime.now().strftime('%Y%m%d_%H%M%S')
backup_file = os.path.join(BACKUP_PATH, f'prompt_master_{date}.sql')
try:
# 执行mysqldump命令
cmd = f'mysqldump -h {DB_HOST} -u {DB_USER} -p{DB_PASS} {DB_NAME} > {backup_file}'
subprocess.run(cmd, shell=True, check=True)
print(f"数据库备份成功: {backup_file}")
except subprocess.CalledProcessError as e:
print(f"备份失败: {str(e)}")
if __name__ == '__main__':
backup_mysql_db()