MYSQL服务器备份脚本(bat)

Tony哥
2015-02-11 / 0 评论 / 197 阅读 / 正在检测是否收录...

tu

本脚本为自用脚本,我在服务器同时部署了7zip软件用于每个备份的压缩工具,当然如果你不需要压缩可以直接以文件夹形式存储即可
@echo off 
echo. 
echo MySQL数据库备份 
echo ********************************************************** 
echo. 
echo 今天是 %date%           *.sql 备份
echo 时间是 %time%           代码编写:tony@archn.cn
echo. 
echo **********************************************************


::======================================配置参数--start-------------------------------------

set dbf=30
::-- 备份数量(自动剔除最早数据)

set BackupPath=F:\备份\数据库\mysql.sql.3306
::--  备份文件夹路径

set mysqlBin=C:\Program Files\MySQL\MySQL Server 5.5\bin
::--  mysql执行程序路径

set user=baksuser
::--  用户名

set pass=123456789
::--  用户密码

set dbs=(zeny_dbs,zeny_api,zeny_express,zeny_wec)
::--  要备份的数据库,多个用英文“,”分隔例如(db0,db1,db2)

set go7z=1
::如果安装了7z就把它设置为1否则就为0

set do7z=C:\Progra~1\7-Zip\7z
::7z压缩执行程序路径

::======================================/配置参数--end-------------------------------------


set dt=%time:~0,2%
set dt=%dt: =0%
set Ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_%dt%.%time:~3,2%.%time:~6,2%
md %BackupPath%\%Ymd%
for %%n in %dbs% do "%mysqlBin%\mysqldump" --opt -Q -u"%user%" -p"%pass%" "%%n" > "%BackupPath%\%Ymd%\%%n.sql"
if %go7z%==1 (
  %do7z% a -t7z "%BackupPath%\%Ymd%.7z" "%BackupPath%\%Ymd%\*" -mx=9
  RMDIR /S /Q %BackupPath%\%Ymd%
  ::删除指定数量之前较老的文件
  for /f "skip=%dbf% tokens=*" %%i in ('dir "%BackupPath%" /o-n /a-d /b') do del "%BackupPath%\%%i" /f /s /q > nul
)
::---------------------------------------附加程序
::--如果有附加程序请您自行添加到这儿

以上脚本服务器端执行 mysql.bat ,计划任务中用管理员权限定时执行即可!如果您不用7zip压缩 过期删除部分需要自行改造下

0

评论 (0)

取消
  1. 头像
    断线
    Linux · Google Chrome

    要是还有一个mysql数据库还原就更好了

    回复