Mysql通过mysqldump工具实现备份并自动删除3天前的备份

DATE: 2020-03-11 / VIEWS: 1230

@echo off
set startime=%time%
echo.
echo.Start backup database.
echo.
set mysqldump=C:\wamp64\bin\mysql\mysql8.0.16\bin
set username=root
set password=123456
set database=xiangcun
:: show variables like 'max_allowed_packet';
set max_allowed_packet=67108864
:: show variables like 'net_buffer_length';
set net_buffer_length=8192
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set hour_ten=%time:~0,1%
set hour_one=%time:~1,1%
set minute=%time:~3,2%
set second=%time:~6,2%
set basedir=%cd%\xiangcun
if "%hour_ten%" == " " (
    set hour=0%hour_one%
) else (
    set hour=%hour_ten%%hour_one%
)
forfiles /p "%basedir%" /s /m *.* /d -3 /c "cmd /c del @path"
echo.
set backupname=%year%%month%%day%_%hour%%minute%%second%.sql
echo.Path:%basedir%\%backupname%
echo.
cd /d %mysqldump%
mysqldump -u%username% -p%password% -P3306 %database% -e --max_allowed_packet=%max_allowed_packet% --net_buffer_length=%net_buffer_length% > %basedir%\%backupname%
echo.
echo.Backup end,Out.
echo.
set endtime=%time%
echo.Times:%startime% - %endtime%
echo.
exit

上面的代码保存为database_backup.bat格式文件。

最后,打开计算机管理,点开任务计划程序中,创建基本任务。需要注意的就是看下图: