备份代码
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)