当前位置: 首页 > news >正文

Windows Server 设置MySQL自动备份任务(每日凌晨2点执行)

Windows Server 设置MySQL自动备份任务(每日凌晨2点执行)

1. 保存备份脚本

将脚本保存为mysql_backup.bat文件。

@echo off
setlocal enabledelayedexpansion:: ================================================
:: 自动请求管理员权限
:: ================================================
:: 检查是否已管理员身份运行
net session >nul 2>&1
if %ERRORLEVEL% NEQ 0 (echo 正在请求管理员权限...powershell -Command "Start-Process '%~s0' -Verb RunAs"exit /b
):: ================================================
:: 数据库备份脚本
:: 功能:自动备份MySQL数据库,保留7天历史备份
:: 特点:WinRAR压缩、并行执行、错误日志、权限控制
:: 配置日期:2025-07-22
:: ================================================:: ------------------------------
:: 配置区域(根据实际环境修改)
:: 初始化变量
:: ------------------------------
set "MYSQL_BIN=C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump"
set "DATABASE_USER=root"
set "DATABASE_PASSWORD=123456"
set "BACKUP_ROOT=%~dp0"                            
set "DATABASES=app,client"
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
:: 日志目录
set "LOG_DIR=%BACKUP_ROOT%logs"
:: 备份日志文件
set "LOGFILE=%BACKUP_ROOT%logs/backup_%Ymd%.log"
set ERROR_FLAG=0:: 创建日志目录
if not exist "%LOG_DIR%" (mkdir "%LOG_DIR%"
)echo ====================================================================================================================== >> %LOGFILE%
echo [%date% %time%] === 备份开始 === >> %LOGFILE%:: ------------------------------
:: 目录检查与创建
:: ------------------------------
for /l %%i in (1,1,7) do (if not exist %BACKUP_ROOT%D%%i (mkdir %BACKUP_ROOT%D%%iecho [%date% %time%] 提示:创建目录: D%%i >> %LOGFILE%)
):: ------------------------------
:: 清理旧备份(保留7天)
:: ------------------------------
if exist %BACKUP_ROOT%D1/*.sql (del /Q "%BACKUP_ROOT%\D1\*.sql" >> "%LOGFILE%" 2>&1if !ERRORLEVEL! NEQ 0 (echo [%date% %time%] 错误: 删除D1旧备份失败 >> %LOGFILE%set ERROR_FLAG=1)
)else (echo [%date% %time%] 警告: D1无SQL文件可删除 >> %LOGFILE%
):: ------------------------------
:: 目录轮转
:: ------------------------------
for /l %%i in (2,1,7) do (set /a j=%%i-1if exist "%BACKUP_ROOT%D%%i\*.sql" (move /Y "%BACKUP_ROOT%D%%i\*.sql" "%BACKUP_ROOT%D!j!\" >> %LOGFILE% 2>&1if !ERRORLEVEL! NEQ 0 (echo [%date% %time%] 错误: 移动D%%i到D!j!失败(错误码: !ERRORLEVEL!) >> %LOGFILE%set ERROR_FLAG=1))else (echo [%date% %time%] 警告: D%%i无SQL文件可移动 >> %LOGFILE%)
):: ------------------------------
:: 顺序备份数据库
:: ------------------------------
for %%d in (%DATABASES%) do (echo [%date% %time%] 开始备份数据库: %%d >> %LOGFILE%:: 执行备份"%MYSQL_BIN%" -u%DATABASE_USER% -p%DATABASE_PASSWORD% %%d > "%BACKUP_ROOT%D7\%%d_%Ymd%.sql" :: 错误检查if !ERRORLEVEL! NEQ 0 (echo [%date% %time%] 严重错误: 数据库 %%d 备份失败 >> %LOGFILE%set ERROR_FLAG=1) else (echo [%date% %time%] 数据库成功备份: %%d >> %LOGFILE%)
):: ------------------------------
:: 最终状态检查
:: ------------------------------
if %ERROR_FLAG% NEQ 0 (echo [%date% %time%] === 备份完成(有错误)=== >> %LOGFILE%exit /b 1
) else (echo [%date% %time%] === 备份完成(成功)=== >> %LOGFILE%exit /b 0
)endlocal

2. 创建定时任务

2.1 打开任务计划程序

  • Win+R,输入taskschd.msc回车。
  • 或通过控制面板 > 管理工具 > 任务计划程序。

在这里插入图片描述

2.2 创建基本任务

  • 右侧点击创建任务
  • 名称输入MySQL定时备份
  • 描述可填写MSQL定时备份:每日凌晨两点备份app、plat数据库库,保留最近7天的数据库数据
  • 高级配置(可选):勾选不管用户是否登录都要运行
  • 高级配置(可选):勾选使用最高权限运行

在这里插入图片描述

2.3 设置触发器

  • 选择每天
  • 开始时间设置为02:00:00
  • 重复间隔保持1天

在这里插入图片描述

2.4 设置操作

  • 选择启动程序
  • 程序或脚本浏览选择mysql_backup.bat
  • 起始位置填写脚本所在目录(如C:\scripts\)。

在这里插入图片描述

2.5 完成设置

  • 点击完成创建任务。

在这里插入图片描述

2.6 验证任务(可选)

  • 右键新建的任务选择运行测试。
  • 检查日志文件确认备份是否成功。

文章转载自:
http://diurnally .alwpc.cn
http://divergency .alwpc.cn
http://lichenometric .alwpc.cn
http://trapezist .alwpc.cn
http://nbf .alwpc.cn
http://telegraphy .alwpc.cn
http://marshall .alwpc.cn
http://etruscan .alwpc.cn
http://creatureliness .alwpc.cn
http://european .alwpc.cn
http://maid .alwpc.cn
http://scrinium .alwpc.cn
http://recuse .alwpc.cn
http://pkzip .alwpc.cn
http://telepathy .alwpc.cn
http://hyperuricemia .alwpc.cn
http://gaffer .alwpc.cn
http://horopteric .alwpc.cn
http://ifac .alwpc.cn
http://jeremiad .alwpc.cn
http://excellency .alwpc.cn
http://marlinespike .alwpc.cn
http://mott .alwpc.cn
http://nablus .alwpc.cn
http://screever .alwpc.cn
http://male .alwpc.cn
http://istana .alwpc.cn
http://gunsight .alwpc.cn
http://rehear .alwpc.cn
http://fireballer .alwpc.cn
http://www.dtcms.com/a/293027.html

相关文章:

  • 洛谷刷题7..22
  • 贪心算法Day3学习心得
  • VBScript 拖拽文件显示路径及特殊字符处理
  • gitlab私服搭建
  • 根据数据,判断神经网络所需的最小参数量
  • 如何搭建appium工具环境?
  • 嵌入式学习-土堆目标检测(2)-day26
  • 浏览器解码顺序xss
  • UE5 UI WarpBox 包裹框
  • Leetcode力扣解题记录--第41题(原地哈希)
  • 【Pytest】从配置到固件的使用指南
  • 【工作常用】C++/QT插件编程思想——即插即用
  • Elasticsearch 学习笔记
  • 从零开始学习 NumPy 库:核心功能与实践指南
  • 应用层攻防启示录:HTTP/HTTPS攻击的精准拦截之道
  • AI视频-剧本篇学习笔记
  • 《AR眼镜上声学的应用与挑战》
  • pytorch中的torch.compile是如何加速vLLM大模型推理的?
  • 信息学奥赛一本通 1553:【例 2】暗的连锁
  • 跨境企业破局国际市场:海外媒体发稿如何为品牌声誉赋能?
  • 蔚来汽车视觉算法面试30问全景精解
  • 原型链污染
  • 【Phenix】使用教程1|使用phenix.map_model_cc进行结构验证|整体结构CC计算/单个氨基酸的CC
  • Windows入侵排查入门实例
  • 前端_CSS复习
  • 基于 NumPy 的高效数值计算技术解析与实践指引
  • Navicat 远程连接SQLlite数据库
  • 前端学习日记(十)
  • 5G 智慧矿山监控终端
  • Python vs C++ 深度对比