windows定期备份数据库脚本

1. 打开任务计划程序

  1. Win + R,输入 taskschd.msc 并按回车,打开任务计划程序。

2. 创建基本任务

  1. 在任务计划程序右侧,点击“创建基本任务...”。
  2. 输入任务名称(如“备份MySQL数据库”)和描述,然后点击“下一步”。

3. 选择触发器

  1. 选择“每天”,然后点击“下一步”。
  2. 设置任务开始日期和时间,设置时间为凌晨1点,然后点击“下一步”。
  3. 确认每天都运行,点击“下一步”。

4. 选择操作

  1. 选择“启动程序”,然后点击“下一步”。

5. 设置程序/脚本

  1. 在“程序/脚本”框中,浏览并选择你之前创建的批处理文件(如 backup_mysql.bat)。
  2. 确保路径正确,然后点击“下一步”。

6. 完成任务创建

  1. 查看任务摘要,确认无误后,点击“完成”。

下面是对应脚本,文件名称可以叫backup_mysql.bat

@echo off
REM 关闭命令回显

REM 定义MySQL用户名和密码
set MYSQL_USER=root
set MYSQL_PASSWORD=123456

REM 定义要备份的数据库名称
set MYSQL_DATABASE=database_name

REM 定义备份文件存放路径
set BACKUP_PATH=C:\database_bak

REM 创建备份目录(如果不存在)
if not exist "%BACKUP_PATH%" (
    mkdir "%BACKUP_PATH%"
)

REM 获取当前日期和时间,并格式化为文件名友好的格式
for /f "tokens=1-4 delims=/- " %%a in ('date /t') do set DMY=%%a-%%b-%%c
for /f "tokens=1-4 delims=:. " %%a in ('time /t') do set HMS=%%a-%%b-%%c

REM 生成备份文件名,包含日期和时间
set BACKUP_FILE=%BACKUP_PATH%\%MYSQL_DATABASE%_backup_%DMY%_%HMS%.sql

REM 打印生成的备份文件名
echo Backup file: %BACKUP_FILE%

REM 导航到MySQL的bin目录
cd /d "C:\mysql-5.7.23-winx64\bin"
echo Current directory: %cd%

REM 执行备份命令,将输出重定向到备份文件
mysqldump -u %MYSQL_USER% -p%MYSQL_PASSWORD% %MYSQL_DATABASE% > "%BACKUP_FILE%"

REM 检查命令是否成功执行
if %errorlevel% neq 0 (
    echo Error occurred during backup
) else (
    echo Backup completed: %BACKUP_FILE%
)

pause

 

posted @ 2024-07-22 11:01  Materben  阅读(102)  评论(0编辑  收藏  举报