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()