@echo off
setlocal
rem 在Windows中添加任务计划以执行批处理脚本,请按照以下步骤操作:
rem 打开Windows的“任务计划程序”应用程序。你可以通过按下Win + R键,在运行对话框中输入taskschd.msc,然后按回车键来打开它。
rem 在任务计划程序窗口中,点击“创建基本任务”或“创建任务”(取决于你的Windows版本)。
rem 输入一个名称和描述以标识你的任务。
rem 在“触发器”选项卡上,点击“新建”来创建一个新的触发器。选择适当的计划(一次、每天、每周等),并设置触发任务的日期和时间。
rem 在“操作”选项卡上,点击“新建”来创建一个新的操作。在“程序/脚本”字段中,指定要执行的批处理脚本的完整路径。
rem 在“条件”选项卡和“设置”选项卡上,按照你的喜好进行其他设置。
rem 点击“确定”来保存任务计划。
rem 设置完成后,任务计划程序将在指定的日期和时间自动运行你的批处理脚本。你可以在任务计划程序中查看和管理你的任务。
REM 设置数据库连接信息
set "localhost_name=localhost"
set "username=root"
set "database_name=localhost"
set "mypassword=root"
REM 设置最大备份文件数量
set "max_backup_files=7*24"
REM 设置最大备份文件天数
set "max_backup_files_date=7"
set "backup_dir=D:\backup"
set "YYYY=%date:~0,4%"
set "MM=%date:~5,2%"
set "DD=%date:~8,2%"
set "HH=%time:~0,2%"
set "NN=%time:~3,2%"
set "SS=%time:~6,2%"
set "datetime=%YYYY%%MM%%DD%%HH%%NN%%SS%"
set "backup_file=%backup_dir%\%database_name%-%datetime%.sql"
set "log_file=%backup_dir%\backup.log"
set "error_message=Backup failed at %datetime%"
set "success_message=Backup successful at %datetime%"
echo Starting backup at %datetime% >> "%log_file%"
mysqldump -h "%localhost_name%" -u "%username%" --password="%mypassword%" --all-databases > "%backup_file%"
rem 删除7天之前的备份文件
forfiles /p "%backup_dir%" /s /m %database_name%-*.sql /d -%max_backup_files_date% /c "cmd /c del /q @path"
rem 限制备份文件的个数,删除最早的文件
setlocal enabledelayedexpansion
for /F "skip=%max_backup_files% delims=" %%F in ('dir /B /O:D "%backup_dir%\%database_name%*.sql"') do (
set "file_to_delete=%backup_dir%\%%F"
echo Deleting old backup: !file_to_delete!
del "!file_to_delete!"
)
if %errorlevel% neq 0 (
echo %error_message% >> "%log_file%"
) else (
echo %success_message% >> "%log_file%"
)
echo Backup completed.
endlocal
window定时备份MySQL数据库,默认备份7天,一小时备份一次
猜你喜欢
转载自blog.csdn.net/lizhihua0625/article/details/132478693
今日推荐
周排行