python3开发MySQL备份脚本定时备份

科长
2023-12-28 / 0 评论 / 73 阅读 / 正在检测是否收录...

备份代码

import os
import datetime
import subprocess

# MySQL数据库配置
mysql_host = 'localhost'
mysql_port = 3306
mysql_user = 'username'
mysql_password = 'password'
mysql_database = 'database'

# 备份目录
backup_dir = '/mysql/backup'

# 创建备份目录
if not os.path.exists(backup_dir):
    os.makedirs(backup_dir)

# 备份文件名
current_time = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
backup_file = f'{backup_dir}/{mysql_database}_{current_time}.sql'

# 构建备份命令
backup_command = f'mysqldump -h {mysql_host} -P {mysql_port} -u {mysql_user} -p{mysql_password} {mysql_database} > {backup_file}'

# 执行备份命令
try:
    subprocess.check_output(backup_command, shell=True)
    print('备份成功!')
except subprocess.CalledProcessError as e:
    print('备份失败:', e)

参数解析

运行此脚本的服务器需要提前安装好MySQL客户端工具mysqldump

实际运行前需要修改一下参数:

  • mysql_host:MySQL主机地址
  • mysql_port:MySQL端口号
  • mysql_user:MySQL用户名
  • mysql_password:MySQL密码
  • mysql_database:需要备份的数据库名称
  • backup_dir:备份文件存储目录

定时执行

我们让脚本每天的零点开始执行数据库备份,在Linux中的操作如何:

编辑crontab

crontab -e

加入如下内容:

0 0 * * * python3 /your_path/mysql_backup.py

这里的 0 0 * * * 表示任务将在每天的0点0分执行。

0

评论 (0)

取消