rem ========================MySQL backup start========================
@echo off
::设置变量
::拼接时间参数
set dateTime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
::早上10点以前时间变量中会出现空格,把时间变量中的空格替换为0
set "dateTime=%dateTime: =0%"
::本机安装的mysql的bin目录路径
set mysqlBinPath=D:\mysql\mysql-5.7.20-winx64\bin\
::备份文件存储的目标路径
set backupPath=C:\mysqlbackup
::备份文件的名字前半部分-后半部分使用的是上面的时间参数
set backupFileName=schoolfeeBackup_
::备份文件的保存天数500
set days=500
::要备份的数据库服务器的ip
set host=127.0.0.1
::要备份的数据库服务器的端口
set port=3306
::要备份的数据库登录名
set user=root
::要备份的数据库登录密码
set password=123456
::要备份的数据库名
set dbName=schoolfee
::默认的字符集
set charSet=utf8
::winrar所在的路径
set winrar_dir=C:/Program Files/WinRAR/
::根据上面设置的days参数删除以前的备份数据
forfiles /p "%backupPath%" /m %backupFileName%*.sql /d -%days% /c "cmd /c del @path"
::进入mysql安装目录的bin目录下
cd %mysqlBinPath%
::执行备份操作
mysqldump --opt --single-transaction=TRUE --user=%user% --password=%password% --host=%host% --protocol=tcp --port=%port% --default-character-set=%charSet% --routines --events %dbName% > %backupPath%\%backupFileName%%dateTime%.sql
echo %backupPath%\%backupFileName%%dateTime%.sql
cd %winrar_dir%
:: a为读取所有文件 ep从名称里排出路径 df为压缩文件后删除原来的文件
rar.exe a -ep -df %backupPath%\%backupFileName%%dateTime%.rar %backupPath%\%backupFileName%%dateTime%.sql
::del %backupPath%\%backupFileName%%dateTime%.sql
@echo on
rem ========================MySQL backup end========================