mysql数据库自动备份脚本

淘了一个mysql数据库的自动备份脚本,自己做了一些修改:

 

 

REM ***************************************************************************  
REM 参数配置(参数前后不能有空格)  

REM 设置dbhost为主机名或IP地址。设置MySQL数据库的地址,本机不用改。  
SET dbhost=localhost
REM 设置端口号
SET port=3306
  
REM 设置登陆mysql数据库的用户名。如果用户名中有"号,请用""代替。  
SET dbuser=
  
REM 设置登陆mysql的密码。如果密码中有"号,请用""代替。  
SET dbpwd=
  
REM 设置backupPath为备份文件存放的路径。注意:文件夹名存在空格不需要引号括起来。警告:此文件夹应为专用目录,最好独立使用,避免删除历史备份时误删数据。  
SET backupPath=d:\sql_backup
  
REM 备份文件夹前缀。
SET backupFolderPrefix=mysql_
  
REM 设置删除历史备份文件。删除多少次备份之前的备份文件。0--不删除历史备份文件;1,表示一次,2,表示2次,以此类推。如set deleteHistorySkips=30表示删除30次以前的备份文件;
SET deleteHistorySkips=10
  
REM 设置临时目录。如果备份时系统默认临时目录所在分区空间太小,可以通过这里调整该脚本运行的临时目录。默认值:%TEMP%    
SET TEMP=e:\temp
  
REM 完成参数配置  
REM ***************************************************************************  

REM 备份开始

set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%
SET newDir=%backupPath%\%backupFolderPrefix%%now%
MD %newDir%\

set dblist=%temp%\dblist.txt
echo show databases; | mysql -h"%dbhost%" -P%port% -u"%dbuser%" -p"%dbpwd%" > "%dblist%"
for /f " usebackq skip=1 tokens=*" %%i in ("%dblist%") do mysqldump --single-transaction "%%i" -h"%dbhost%" -P%port% -u"%dbuser%" -p"%dbpwd%" > "%newDir%\%%i.sql"

REM 备份结束

REM ***************************************************************************  
REM 删除历史备份
  
:RemoveHistoryBackupFolder
FOR /F "Skip=%deleteHistorySkips% tokens=*" %%i IN ('DIR "%backupPath%\%backupFolderPrefix%*" /TC /O-D /AD /B') DO RD "%backupPath%\%%i" /S /Q & ECHO %myDate% %TIME%   删除历史备份:%%i >> "%backupLogFile%"
GOTO ClearTmpFile
  
:RemoveHistoryBackupFile
FOR /F "Skip=%deleteHistorySkips% tokens=*" %%i IN ('DIR "%backupPath%\%backupFolderPrefix%*" /TC /O-D /A-D /B') DO DEL "%backupPath%\%%i" /Q /F & ECHO %myDate% %TIME% 删除历史备份:%%i >> "%backupLogFile%"
GOTO ClearTmpFile

:ClearTmpFile
DEL %dblist%
  
REM 完成删除历史备份
REM 备份结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值