Mysql数据定时备份

1、Linux

创建一个备份脚本文件,例如 backup_mysql.sh,并将以下代码复制到文件中:

#!/bin/bash

# 设置 MySQL 登录信息
MYSQL_USER="your_mysql_username"
MYSQL_PASSWORD="your_mysql_password"
MYSQL_DATABASE="your_database_name"
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date +%Y-%m-%d)
TIME=$(date +%H-%M-%S)

# 创建备份目录和文件名
mkdir -p $BACKUP_DIR/$DATE
FILENAME=$BACKUP_DIR/$DATE/$MYSQL_DATABASE-$TIME.sql.gz

# 使用 mysqldump 命令备份数据库
mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD --databases $MYSQL_DATABASE | gzip > $FILENAME

# 输出备份完成信息
echo "Backup completed on $(date +%Y-%m-%d %H:%M:%S) for database $MYSQL_DATABASE to $FILENAME."

# 删除超过14天的备份文件
find $BACKUP_DIR/* -mtime +14 -exec rm {} \;

为脚本文件添加可执行权限:

chmod +x backup_mysql.sh

将脚本文件添加到 crontab 中,以每天凌晨 2 点执行备份任务:

crontab -e

在打开的编辑器中,新增以下行:

0 2 * * * /path/to/backup_mysql.sh >/dev/null 2>&1

上面的shell脚本做了以下事情:

  1. 获取当前日期和时间。
  2. 使用 mkdir 命令创建备份目录和文件名。
  3. 使用 mysqldump 命令备份数据库,并将结果压缩成 gzip 格式。
  4. 输出一条备份完成信息。
  5. 使用 find 命令查找超过14天的备份文件,并将其删除

2、Windows

新建一个txt文件,然后修改后缀名为bat,名称为backupDB.bat

@echo off
set h=%time:~0,2%
set h=%h: =0%
set hhmiss=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,2%%time:~6,2%
set "folder=%date:~0,4%%date:~5,2%%date:~8,2%"
::自动创建当天文件夹(dbBack这个文件夹需要自行创建)
if not exist  D:\dbBack\%folder% (md  D:\dbBack\%folder%)
::(mysql路径)\bin\mysqldump --opt -u 数据库账号 -p数据库密码 数据库名称 >输出地址
C:\"Program Files"\MySQL\"MySQL Server 5.7"\bin\mysqldump --opt -uroot -proot  tqf_test > D:\dbBack\%folder%\tqf_test_%hhmiss%.sql
@echo on
::正式运行环境把pause去掉,不然cmd黑窗口会一直保留
::pause

 创建定时任务

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值