32 lines
915 B
Python
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() |